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

InspectionContracts

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.

object · operator

reference-profile · input revision 2 · CC0 1.0

object == IF dedicatedNeuralNetApplies THEN sideAChoice ELSE randomResult

Exact module download · Source bundle and reproduction instructions

eligible · operator

reference-profile · input revision 2 · CC0 1.0

eligible == {i \in 1..Len(deck) : deck[i] \notin excluded}

Exact module download · Source bundle and reproduction instructions

central · operator

reference-profile · input revision 2 · CC0 1.0

central == IF ~CentralQuotaAvailable7(b) THEN {}
                   ELSE CASE b.kind = "SchemaAtom082" -> SideAZoneCards7(objects,"SideAHand") \ excluded
                          [] b.kind = "SchemaAtom018" -> SideAZoneCards7(objects,"SideADiscard") \ excluded
                          [] b.kind = "SchemaAtom129" -> DeckCandidate7(deck,excluded,exampleFamily058Off)
                          [] OTHER -> {}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: excluded, CentralQuotaAvailable7, DeckCandidate7, SideAZoneCards7

excluded · operator

reference-profile · input revision 2 · CC0 1.0

excluded == prohibited \cup InspectionChoiceObjects7(b) \cup m.deniedRoots

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionChoiceObjects7

roots · operator

reference-profile · input revision 2 · CC0 1.0

roots == (InspectionRootCards7(b,objects) \cap m.admittedRoots) \ (excluded \cup m.deniedRoots \cup m.pendingRoots)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: excluded, InspectionRootCards7

basicPayable · operator

reference-profile · input revision 2 · CC0 1.0

basicPayable == \E o \in payable : o.id = "BasicRetire"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: payable

payable · operator

reference-profile · input revision 2 · CC0 1.0

payable == PayableMidOptions7(options)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: PayableMidOptions7

trashPayable · operator

reference-profile · input revision 2 · CC0 1.0

trashPayable == \E o \in payable : o.trashesItemInspectioned

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: payable

arrivals · operator

reference-profile · input revision 2 · CC0 1.0

arrivals == actualRootEntriesDuringInspection \cap roots

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: roots

roots · operator

reference-profile · input revision 2 · CC0 1.0

roots == InspectionRootCards7(b,objectsAfter)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionRootCards7

result · operator

reference-profile · input revision 2 · CC0 1.0

result == ItemInspectionClaimObjectiveDisposition7(objects[before.object],hasAdditionalCost,acceptsAdditionalCost,
                                            allAdditionalCostsPayable,actualClaimObjectiveAllowed)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ItemInspectionClaimObjectiveDisposition7

view · operator

reference-profile · input revision 2 · CC0 1.0

view == InspectionCandidatesDirection7(before,m,objects,deck,prohibited,exampleFamily058Off)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionCandidatesDirection7

ActualItemInspectionesInInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

ActualItemInspectionesInInspection7(history,siteInspectionId) ==
    IF siteInspectionId = 0 THEN {} ELSE {id \in DOMAIN history : history[id].siteInspectionId = siteInspectionId}

Exact module download · Source bundle and reproduction instructions

ActualItemInspectionesInTraversal7 · operator

reference-profile · input revision 2 · CC0 1.0

ActualItemInspectionesInTraversal7(history,traversalId) ==
    IF traversalId = 0 THEN {} ELSE {id \in DOMAIN history : history[id].traversalId = traversalId}

Exact module download · Source bundle and reproduction instructions

AddAdditionalItemInspectiones7 · operator

reference-profile · input revision 2 · CC0 1.0

AddAdditionalItemInspectiones7(before,after,amount,actualBeginningAbilityApplies) ==
    /\ before.active /\ ~before.complete /\ ~before.limitSet /\ RandomLimitApplies7(before)
    /\ before.step \in {"ProcedureCode839b301bad95","ProcedureCodeb6067693902e","ProcedureCode91f3ee0da236"} /\ amount \in Nat /\ actualBeginningAbilityApplies
    /\ after = [before EXCEPT !.randomLimit = @+amount]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: RandomLimitApplies7

AdvanceInspectionSelection7 · operator

reference-profile · input revision 2 · CC0 1.0

AdvanceInspectionSelection7(before,after,actualChoiceInstructionAndNormalCheckpointDrained) ==
    /\ before.active /\ ~before.complete /\ before.step = "ProcedureCode1404a82ab3ee"
    /\ before.selectionPending /\ before.selectedObject \in InspectionChoiceObjects7(before)
    /\ actualChoiceInstructionAndNormalCheckpointDrained
    /\ after = [before EXCEPT !.step = "ProcedureCodee35e7c8fc57b"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionChoiceObjects7

AdvanceInspectionStep7 · operator

reference-profile · input revision 2 · CC0 1.0

AdvanceInspectionStep7(before,after,actualStepAndChildProceduresComplete,normalCheckpointAndReactionsDrained) ==
    /\ before.active /\ ~before.complete /\ before.beginMet
    /\ before.step \in {"ProcedureCode839b301bad95","ProcedureCodeb6067693902e","ProcedureCode91f3ee0da236","ProcedureCodee35e7c8fc57b","ProcedureCodeb1fbc90c4ab0"}
    /\ actualStepAndChildProceduresComplete /\ normalCheckpointAndReactionsDrained
    /\ CASE before.step = "ProcedureCodeb6067693902e" -> before.kind # "SchemaAtom018" \/ before.archivesPrepared
         [] before.step = "ProcedureCode91f3ee0da236" -> ~RandomLimitApplies7(before) \/ before.limitSet
         [] before.step \in {"ProcedureCodee35e7c8fc57b","ProcedureCodeb1fbc90c4ab0"} -> ~before.selectionPending /\ before.currentItemInspectionId = 0
         [] OTHER -> TRUE
    /\ after = [before EXCEPT !.step = NextInspectionStep7(before.step)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NextInspectionStep7, RandomLimitApplies7

AdvanceItemInspectionStep7 · operator

reference-profile · input revision 2 · CC0 1.0

AdvanceItemInspectionStep7(before,after,objects,actualStepAndChildProceduresComplete,normalCheckpointAndReactionsDrained) ==
    /\ StillItemInspectioning7(before,objects) /\ before.step \in {"ProcedureCodefd91bef8bbd3","ProcedureCode1dd0e8f05be2","ProcedureCode546db7cc4546"}
    /\ actualStepAndChildProceduresComplete /\ normalCheckpointAndReactionsDrained
    /\ CASE before.step = "ProcedureCodefd91bef8bbd3" -> before.beginMet
         [] before.step = "ProcedureCode1dd0e8f05be2" -> before.midDone /\ ~before.midResolving
         [] OTHER -> before.claimObjectiveDone /\ ~before.claimObjectiveResolving
    /\ after = [before EXCEPT !.step = NextItemInspectionStep7(before.step)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NextItemInspectionStep7, StillItemInspectioning7

ApplyInspectionAborts7 · operator

reference-profile · input revision 2 · CC0 1.0

ApplyInspectionAborts7(before,after,actualAbortedInspectionIds,events) ==
    IF before.active /\ before.id \in actualAbortedInspectionIds
    THEN EndInspection7(before,after,"EndTraversal",TRUE,events)
    ELSE after = before /\ events = {}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EndInspection7

ApplyItemInspectionAborts7 · operator

reference-profile · input revision 2 · CC0 1.0

ApplyItemInspectionAborts7(before,after,actualAbortedItemInspectionIds,events) ==
    IF before.active /\ before.id \in actualAbortedItemInspectionIds
    THEN EndItemInspection7(before,after,"EndTraversal",TRUE,events)
    ELSE after = before /\ events = {}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EndItemInspection7

AttachChosenItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

AttachChosenItemInspection7(before,after,a,actualItemInspectionBeginEvent) ==
    /\ before.active /\ ~before.complete /\ before.step = "ProcedureCodee35e7c8fc57b"
    /\ before.selectionPending /\ before.currentItemInspectionId = 0
    /\ a.beginMet /\ a.id \in Nat \ {0} /\ a.id \notin before.usedItemInspectionIds
    /\ a.object = before.selectedObject /\ a.siteInspectionId = before.id /\ a.caller = InspectionItemInspectionCaller7(before)
    /\ actualItemInspectionBeginEvent = ItemInspectionBeginEvent7(a)
    /\ after = [before EXCEPT !.currentItemInspectionId = a.id,!.usedItemInspectionIds = @ \cup {a.id}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionItemInspectionCaller7, ItemInspectionBeginEvent7

BasicRetireOption7 · operator

reference-profile · input revision 2 · CC0 1.0

BasicRetireOption7(card,effectiveRetirePart,actualAllCostsPayable,actualBasicRetireAllowed) ==
    MidOption7("BasicRetire",TRUE,actualAllCostsPayable,
        ItemInspectionRetireCostOpportunity("SideB",card,TRUE,effectiveRetirePart) /\ actualBasicRetireAllowed)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MidOption7, ItemInspectionRetireCostOpportunity

BeginInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

BeginInspection7(before,after,currentInspectionId,actualLiveTargetSites,actualNewTimingAllowed,actualAllInspectionPrerequisitesComplete,events) ==
    /\ before.step = "ProcedureCode839b301bad95" /\ ~before.active /\ ~before.beginMet /\ ~before.complete
    /\ before.id \in Nat \ {0} /\ currentInspectionId = 0
    /\ before.targetSite \in actualLiveTargetSites /\ before.kind = InspectionTargetSiteCategory7(before.targetSite)
    /\ actualNewTimingAllowed /\ actualAllInspectionPrerequisitesComplete
    /\ after = [before EXCEPT !.active = TRUE,!.beginMet = TRUE]
    /\ events = {InspectionBeginEvent7(before)}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionBeginEvent7, InspectionTargetSiteCategory7

BeginInspectionWithCandidates7 · operator

reference-profile · input revision 2 · CC0 1.0

BeginInspectionWithCandidates7(before,after,afterCapacity,objects,currentInspectionId,actualLiveTargetSites,
                            actualNewTimingAllowed,actualAllInspectionPrerequisitesComplete,events) ==
    BeginInspection7(before,after,currentInspectionId,actualLiveTargetSites,actualNewTimingAllowed,actualAllInspectionPrerequisitesComplete,events) /\
    afterCapacity = OpenCandidateCapacity7(after,objects)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BeginInspection7, OpenCandidateCapacity7

BeginItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

BeginItemInspection7(before,after,objects,actualItemInspectionAndNewTimingAllowed,allItemInspectionCostsPaid,
              actualCostCheckpointAndReactionsDrained,events) ==
    /\ before.step = "ProcedureCodefd91bef8bbd3" /\ ~before.active /\ ~before.beginMet /\ ~before.complete
    /\ before.id \in Nat \ {0} /\ ItemInspectionTargetPresent7(before,objects)
    /\ actualItemInspectionAndNewTimingAllowed /\ allItemInspectionCostsPaid /\ actualCostCheckpointAndReactionsDrained
    /\ after = [before EXCEPT !.active = TRUE,!.beginMet = TRUE]
    /\ events = {ItemInspectionBeginEvent7(before)}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ItemInspectionBeginEvent7, ItemInspectionTargetPresent7

CancelUnstartedItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

CancelUnstartedItemInspection7(before,after,reason,actualInstructionWithoutItemInspectionCompleted,events) ==
    /\ before.step = "ProcedureCodefd91bef8bbd3" /\ ~before.active /\ ~before.beginMet /\ ~before.complete
    /\ actualInstructionWithoutItemInspectionCompleted
    /\ reason \in {"Replaced","ItemInspectionCostDeclined","Prohibited","MissingTarget","Cancelled"}
    /\ after = [before EXCEPT !.complete = TRUE,!.step = "Complete",!.completionReason = reason]
    /\ events = {}

Exact module download · Source bundle and reproduction instructions

CandidateCapacityValid7 · operator

reference-profile · input revision 2 · CC0 1.0

CandidateCapacityValid7(m,b,objects) ==
    /\ m.siteInspectionId = b.id
    /\ m.admittedRoots \subseteq InspectionRootCards7(b,objects)
    /\ m.pendingRoots \subseteq InspectionRootCards7(b,objects)
    /\ m.admittedRoots \cap (m.pendingRoots \cup m.deniedRoots) = {}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionRootCards7

CandidateInputsValid7 · operator

reference-profile · input revision 2 · CC0 1.0

CandidateInputsValid7(b,m,objects,deck) ==
    CandidateCapacityValid7(m,b,objects) /\ (b.kind = "SchemaAtom129" => DeckOrderValid7(objects,deck))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CandidateCapacityValid7, DeckOrderValid7

CandidateViewValid7 · operator

reference-profile · input revision 2 · CC0 1.0

CandidateViewValid7(view) == view.roots \cap view.central = {}

Exact module download · Source bundle and reproduction instructions

CentralQuotaAvailable7 · operator

reference-profile · input revision 2 · CC0 1.0

CentralQuotaAvailable7(b) == ~RandomLimitApplies7(b) \/ InspectionCentralChoices7(b) < b.randomLimit

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionCentralChoices7, RandomLimitApplies7

ChooseCentralAInspectionCard7 · operator

reference-profile · input revision 2 · CC0 1.0

ChooseCentralAInspectionCard7(before,after,view,randomResult,sideAChoice,dedicatedNeuralNetApplies,actualRandomDrawValid) ==
    /\ before.kind = "SchemaAtom082"
    /\ LET object == IF dedicatedNeuralNetApplies THEN sideAChoice ELSE randomResult
       IN RecordInspectionChoice7(before,after,object,"SchemaAtom033",view,
            IF dedicatedNeuralNetApplies THEN "SideADirectedCentralA" ELSE "RandomCentralA",
            dedicatedNeuralNetApplies \/ actualRandomDrawValid)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: object, RecordInspectionChoice7

ChooseSpecificInspectionCard7 · operator

reference-profile · input revision 2 · CC0 1.0

ChooseSpecificInspectionCard7(before,after,object,view) ==
    /\ object \in InspectionPresentation7(before,view).specific
    /\ RecordInspectionChoice7(before,after,object,IF object \in view.roots THEN "Root" ELSE "SchemaAtom033",view,"Specific",TRUE)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionPresentation7, RecordInspectionChoice7

CloseEndedInspectionBeginReaction7 · operator

reference-profile · input revision 2 · CC0 1.0

CloseEndedInspectionBeginReaction7(before,after,b) ==
    /\ b.complete /\ b.beginMet /\ before.open /\ before.kind = "Reaction" /\ before.beginInspectionId = b.id
    /\ after = [before EXCEPT !.open = FALSE,!.pending = {},!.priority = "NoValue",
                             !.lostPending = @ \cup before.pending]

Exact module download · Source bundle and reproduction instructions

CloseEndedItemInspectionBeginReaction7 · operator

reference-profile · input revision 2 · CC0 1.0

CloseEndedItemInspectionBeginReaction7(before,after,a) ==
    /\ a.complete /\ a.beginMet /\ before.open /\ before.kind = "Reaction"
    /\ before.beginItemInspectionId = a.id
    /\ after = [before EXCEPT !.open = FALSE,!.pending = {},!.priority = "NoValue",
                             !.lostPending = @ \cup before.pending]

Exact module download · Source bundle and reproduction instructions

CompleteNormalInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

CompleteNormalInspection7(before,after,actualPriorStepsAndNormalReactionsComplete,events) ==
    /\ before.active /\ ~before.complete /\ before.step = "ProcedureCode8c612115d469" /\ before.beginMet
    /\ ~before.selectionPending /\ before.currentItemInspectionId = 0 /\ actualPriorStepsAndNormalReactionsComplete
    /\ EndInspection7(before,after,"Normal",TRUE,events)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EndInspection7

CompleteNormalItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

CompleteNormalItemInspection7(before,after,objects,allStepThreeReactionsAndCheckpointComplete,events) ==
    /\ StillItemInspectioning7(before,objects) /\ before.step = "ProcedureCode662478499367" /\ before.beginMet
    /\ before.midDone /\ before.claimObjectiveDone /\ ~before.midResolving /\ ~before.claimObjectiveResolving
    /\ allStepThreeReactionsAndCheckpointComplete
    /\ EndItemInspection7(before,after,"Normal",TRUE,events)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EndItemInspection7, StillItemInspectioning7

DecideRootAdmissions7 · operator

reference-profile · input revision 2 · CC0 1.0

DecideRootAdmissions7(before,after,b,objects,accepted,actualCheckpointStep,normalEarlierStepsComplete) ==
    /\ b.active /\ ~b.complete /\ before.siteInspectionId = b.id
    /\ actualCheckpointStep = "ProcedureCode7f181ce21011" /\ normalEarlierStepsComplete
    /\ accepted \subseteq before.pendingRoots \cap InspectionRootCards7(b,objects)
    /\ after = [before EXCEPT
         !.admittedRoots = (@ \cup (accepted \ before.deniedRoots)) \cap InspectionRootCards7(b,objects),
         !.deniedRoots = @ \cup (before.pendingRoots \ accepted),
         !.pendingRoots = {}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionRootCards7

DeckCandidate7 · operator

reference-profile · input revision 2 · CC0 1.0

DeckCandidate7(deck,excluded,exampleFamily058Off) ==
    LET eligible == {i \in 1..Len(deck) : deck[i] \notin excluded}
    IN IF eligible = {} THEN {}
       ELSE {deck[CHOOSE i \in eligible : \A j \in eligible : IF exampleFamily058Off THEN i >= j ELSE i <= j]}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: eligible

DeckOrderValid7 · operator

reference-profile · input revision 2 · CC0 1.0

DeckOrderValid7(objects,deck) ==
    SubIds6(deck) = SideAZoneCards7(objects,"SideADeck") /\ Len(deck) = Cardinality(SubIds6(deck))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SideAZoneCards7, SubIds6

DeclineMidItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

DeclineMidItemInspection7(before,after,objects,options,mustRetireIfAble,exampleFamily034Applies,beginReactionsAndCheckpointDrained) ==
    /\ StillItemInspectioning7(before,objects) /\ before.step = "ProcedureCode1dd0e8f05be2"
    /\ ~before.midUsed /\ ~before.midDone /\ ~before.midResolving /\ beginReactionsAndCheckpointDrained
    /\ MidItemInspectionChoiceAllowed7("Decline",options,mustRetireIfAble,exampleFamily034Applies)
    /\ after = [before EXCEPT !.midDone = TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MidItemInspectionChoiceAllowed7, StillItemInspectioning7

DelayInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

DelayInspection7(before,after,conditionId,usedConditionIds,currentInspectionId,request,actualInspectionWouldBegin) ==
    /\ currentInspectionId \in Nat \ {0} /\ actualInspectionWouldBegin
    /\ conditionId \in Nat \ {0} /\ conditionId \notin usedConditionIds /\ conditionId \notin DOMAIN before
    /\ after = [id \in DOMAIN before \cup {conditionId} |->
         IF id = conditionId THEN [controller |-> "SideB",triggerInspectionId |-> currentInspectionId,request |-> request,pending |-> FALSE]
         ELSE before[id]]

Exact module download · Source bundle and reproduction instructions

DeriveCandidateView7 · operator

reference-profile · input revision 2 · CC0 1.0

DeriveCandidateView7(b,m,objects,deck,prohibited,exampleFamily058Off,view) ==
    CandidateInputsValid7(b,m,objects,deck) /\
    view = InspectionCandidatesDirection7(b,m,objects,deck,prohibited,exampleFamily058Off)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CandidateInputsValid7, InspectionCandidatesDirection7

DrainEndedInspectionInstruction7 · operator

reference-profile · input revision 2 · CC0 1.0

DrainEndedInspectionInstruction7(before,after,actualSelectedInstructionAndAllChildrenComplete) ==
    /\ before.complete /\ ~before.returned /\ (before.selectionPending \/ before.currentItemInspectionId # 0)
    /\ actualSelectedInstructionAndAllChildrenComplete
    /\ after = [before EXCEPT !.selectionPending = FALSE,!.selectedObject = 0,
                             !.selectedSource = "NoValue",!.currentItemInspectionId = 0]

Exact module download · Source bundle and reproduction instructions

EndInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

EndInspection7(before,after,reason,actualEndAuthorized,events) ==
    /\ before.active /\ ~before.complete /\ actualEndAuthorized /\ reason \in {"Normal","EndTraversal"}
    /\ after = [before EXCEPT !.active = FALSE,!.complete = TRUE,!.step = "Complete",!.completionReason = reason]
    /\ events = {InspectionEndEvent7(before)}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionEndEvent7

EndItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

EndItemInspection7(before,after,reason,actualEndAuthorized,events) ==
    /\ before.active /\ ~before.complete /\ actualEndAuthorized /\ reason \in {"Moved","EndTraversal","Normal"}
    /\ after = [before EXCEPT !.active = FALSE,!.complete = TRUE,!.step = "Complete",!.completionReason = reason]
    /\ events = {ItemInspectionEndEvent7(before)}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ItemInspectionEndEvent7

ExampleFamily034Reveal7 · operator

reference-profile · input revision 2 · CC0 1.0

ExampleFamily034Reveal7(beforeReveals,afterReveals,a,objects,abilityId,actualTriggeredInstanceResolving,events) ==
    /\ StillItemInspectioning7(a,objects) /\ actualTriggeredInstanceResolving /\ abilityId \in Nat \ {0}
    /\ afterReveals = beforeReveals \cup
          {[object |-> a.object,loc |-> a.originLoc,viewers |-> SetupPlayers,ability |-> abilityId]}
    /\ events = {[tag |-> "Reveal",object |-> a.object,ability |-> abilityId]}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: StillItemInspectioning7, SetupPlayers

ExampleFamily034Trigger7 · operator

reference-profile · input revision 2 · CC0 1.0

ExampleFamily034Trigger7(actualAbilityActive,hasRetireCost,earlierCostItemInspectionesThisTurn) ==
    actualAbilityActive /\ hasRetireCost /\ earlierCostItemInspectionesThisTurn = 0

Exact module download · Source bundle and reproduction instructions

FinishInspectionItemInspectionInstruction7 · operator

reference-profile · input revision 2 · CC0 1.0

FinishInspectionItemInspectionInstruction7(before,after,actualChosenInstructionAndItemInspectionReturnComplete) ==
    /\ before.active /\ ~before.complete /\ before.step = "ProcedureCodee35e7c8fc57b" /\ before.selectionPending
    /\ actualChosenInstructionAndItemInspectionReturnComplete
    /\ after = [before EXCEPT !.selectionPending = FALSE,!.selectedObject = 0,
          !.selectedSource = "NoValue",!.currentItemInspectionId = 0]

Exact module download · Source bundle and reproduction instructions

FinishItemInspectionClaimObjective7 · operator

reference-profile · input revision 2 · CC0 1.0

FinishItemInspectionClaimObjective7(before,after,actualClaimObjectiveProcedureAndReactionsComplete) ==
    /\ before.claimObjectiveResolving /\ actualClaimObjectiveProcedureAndReactionsComplete
    /\ after = [before EXCEPT !.claimObjectiveResolving = FALSE,!.claimObjectiveDone = TRUE]

Exact module download · Source bundle and reproduction instructions

FinishMidItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

FinishMidItemInspection7(before,after,actualAbilityAndReactionsComplete) ==
    /\ before.midResolving /\ actualAbilityAndReactionsComplete
    /\ after = [before EXCEPT !.midResolving = FALSE,!.midDone = TRUE]

Exact module download · Source bundle and reproduction instructions

FreezeInspectionLimit7 · operator

reference-profile · input revision 2 · CC0 1.0

FreezeInspectionLimit7(before,after,allBeginningModifiersAndReactionsComplete) ==
    /\ before.active /\ ~before.complete /\ before.step = "ProcedureCode91f3ee0da236" /\ ~before.limitSet
    /\ RandomLimitApplies7(before) /\ before.randomLimit \in Nat /\ allBeginningModifiersAndReactionsComplete
    /\ after = [before EXCEPT !.limitSet = TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: RandomLimitApplies7

InformationSiftingNext7 · operator

reference-profile · input revision 2 · CC0 1.0

InformationSiftingNext7(beforeIndex,afterIndex,instructions,actualPreviousInstructionAndChildItemInspectionComplete,
                         normalInstructionCheckpointAndReactionsDrained) ==
    /\ beforeIndex \in 1..Len(instructions) /\ actualPreviousInstructionAndChildItemInspectionComplete
    /\ normalInstructionCheckpointAndReactionsDrained /\ afterIndex = beforeIndex+1

Exact module download · Source bundle and reproduction instructions

InformationSiftingOrder7 · operator

reference-profile · input revision 2 · CC0 1.0

InformationSiftingOrder7(targets,order) ==
    SubIds6(order) = targets /\ Cardinality(targets) = Len(order)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SubIds6

InformationSiftingPlan7 · operator

reference-profile · input revision 2 · CC0 1.0

InformationSiftingPlan7(targets,order,instructions,usedInstructionIds) ==
    /\ InformationSiftingOrder7(targets,order) /\ Len(instructions) = Len(order)
    /\ Cardinality({instructions[i].id : i \in 1..Len(instructions)}) = Len(instructions)
    /\ \A i \in 1..Len(instructions) :
        instructions[i].id \in Nat \ {0} /\ instructions[i].id \notin usedInstructionIds /\
        instructions[i].kind = "ItemInspection" /\ instructions[i].target = order[i]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InformationSiftingOrder7

InspectionBeginEvent7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionBeginEvent7(b) == [tag |-> "InspectionTargetSite",siteInspectionId |-> b.id,targetSite |-> b.targetSite,traversalId |-> b.traversalId]

Exact module download · Source bundle and reproduction instructions

InspectionCandidates7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionCandidates7(b,m,objects,deck,prohibited) ==
                                                                                     
    InspectionCandidatesDirection7(b,m,objects,deck,prohibited,FALSE)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionCandidatesDirection7

InspectionCandidatesDirection7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionCandidatesDirection7(b,m,objects,deck,prohibited,exampleFamily058Off) ==
    LET excluded == prohibited \cup InspectionChoiceObjects7(b) \cup m.deniedRoots
        roots == (InspectionRootCards7(b,objects) \cap m.admittedRoots) \ (excluded \cup m.deniedRoots \cup m.pendingRoots)
        central == IF ~CentralQuotaAvailable7(b) THEN {}
                   ELSE CASE b.kind = "SchemaAtom082" -> SideAZoneCards7(objects,"SideAHand") \ excluded
                          [] b.kind = "SchemaAtom018" -> SideAZoneCards7(objects,"SideADiscard") \ excluded
                          [] b.kind = "SchemaAtom129" -> DeckCandidate7(deck,excluded,exampleFamily058Off)
                          [] OTHER -> {}
    IN IF b.active /\ ~b.complete THEN [roots |-> roots,central |-> central]
       ELSE [roots |-> {},central |-> {}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: central, roots

InspectionCentralChoices7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionCentralChoices7(b) == Cardinality({i \in 1..Len(b.choices) : b.choices[i].source = "SchemaAtom033"})

Exact module download · Source bundle and reproduction instructions

InspectionChoiceObjects7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionChoiceObjects7(b) == {b.choices[i].object : i \in 1..Len(b.choices)}

Exact module download · Source bundle and reproduction instructions

InspectionEndEvent7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionEndEvent7(b) == [tag |-> "InspectionEnds",siteInspectionId |-> b.id,targetSite |-> b.targetSite]

Exact module download · Source bundle and reproduction instructions

InspectionItemInspectionCaller7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionItemInspectionCaller7(b) == <<"InspectionItemInspection",b.id>>

Exact module download · Source bundle and reproduction instructions

InspectionObjectVisible7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionObjectVisible7(b,history,objects,object) ==
    b.active /\ ~b.complete /\ object \in DOMAIN objects /\ object \in InspectionSeenObjects7(b,history)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionSeenObjects7

InspectionPolicy7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionPolicy7(mode,targetCount) ==
    [randomLimitEnabled |-> mode # "CounterExampleFamily064",chosenCapEnabled |-> mode = "CounterExampleFamily064",chosenCap |-> targetCount]

Exact module download · Source bundle and reproduction instructions

InspectionPolicyComplete7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionPolicyComplete7(policy,chosenCount,candidatesEmpty) ==
    candidatesEmpty \/ (policy.chosenCapEnabled /\ chosenCount >= policy.chosenCap)

Exact module download · Source bundle and reproduction instructions

InspectionPresentation7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionPresentation7(b,view) ==
    [specific |-> view.roots \cup (IF b.kind = "SchemaAtom082" THEN {} ELSE view.central),
     randomCentralAOffered |-> b.kind = "SchemaAtom082" /\ view.central # {}]

Exact module download · Source bundle and reproduction instructions

InspectionProcedureValid7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionProcedureValid7(b) ==
    /\ b.id \in Nat \ {0} /\ b.kind = InspectionTargetSiteCategory7(b.targetSite)
    /\ b.active => b.beginMet /\ ~b.complete /\ b.step \in InspectionSteps7
    /\ b.complete => ~b.active /\ b.step = "Complete"
    /\ (~b.active /\ ~b.complete) => ~b.beginMet /\ b.step = "ProcedureCode839b301bad95"
    /\ b.returned => b.complete /\ ~b.selectionPending /\ b.currentItemInspectionId = 0
    /\ b.randomLimit \in Nat /\ b.usedItemInspectionIds \subseteq Nat \ {0}
    /\ Cardinality(InspectionChoiceObjects7(b)) = Len(b.choices)
    /\ IF b.selectionPending THEN b.selectedObject \in InspectionChoiceObjects7(b) /\ b.selectedObject # 0
       ELSE b.selectedObject = 0 /\ b.selectedSource = "NoValue" /\ b.currentItemInspectionId = 0

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionChoiceObjects7, InspectionSteps7, InspectionTargetSiteCategory7

InspectionRootCards7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionRootCards7(b,objects) ==
    {id \in SideAZoneCards7(objects,"Play") :
       objects[id].area = "Root" /\ objects[id].targetSite = b.targetSite /\ objects[id].host = 0}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SideAZoneCards7

InspectionSeenObjects7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionSeenObjects7(b,history) == {history[id].object : id \in ActualItemInspectionesInInspection7(history,b.id)}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ActualItemInspectionesInInspection7

InspectionSelectionReady7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionSelectionReady7(b) ==
    b.active /\ ~b.complete /\ b.step = "ProcedureCode1404a82ab3ee" /\ ~b.selectionPending /\ b.currentItemInspectionId = 0 /\
    (RandomLimitApplies7(b) => b.limitSet) /\
    (b.kind = "SchemaAtom018" => b.archivesPrepared) /\ SelectionWithinPolicy7(b.policy,Len(b.choices))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: RandomLimitApplies7, SelectionWithinPolicy7

InspectionStepInfo7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionStepInfo7(step) ==
 [kind |-> CASE step = "ProcedureCode839b301bad95" -> "BeginInspection" [] step = "ProcedureCodeb6067693902e" -> "PrepareDiscardSite"
            [] step = "ProcedureCode91f3ee0da236" -> "SetLimit" [] step = "ProcedureCode1404a82ab3ee" -> "Choose"
            [] step = "ProcedureCodee35e7c8fc57b" -> "ItemInspection" [] step = "ProcedureCodeb1fbc90c4ab0" -> "Repeat"
            [] step = "ProcedureCode8c612115d469" -> "CompleteInspection" [] OTHER -> "Invalid",
  paidWindow |-> FALSE,objectivePlacementWindow |-> FALSE]

Exact module download · Source bundle and reproduction instructions

InspectionSteps7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionSteps7 == {"ProcedureCode839b301bad95","ProcedureCodeb6067693902e","ProcedureCode91f3ee0da236","ProcedureCode1404a82ab3ee","ProcedureCodee35e7c8fc57b","ProcedureCodeb1fbc90c4ab0","ProcedureCode8c612115d469"}

Exact module download · Source bundle and reproduction instructions

InspectionTargetSiteCategory7 · operator

reference-profile · input revision 2 · CC0 1.0

InspectionTargetSiteCategory7(targetSite) == IF targetSite \in CentralTargetSites4 THEN targetSite ELSE "SchemaAtom132"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CentralTargetSites4

ItemInspectionAbilityActive7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionAbilityActive7(normallyActive,ability) ==
    normallyActive \/ (ability.kind = "Conditional" /\ ability.trigger = "SourceItemInspectioned")

Exact module download · Source bundle and reproduction instructions

ItemInspectionAbilityMatches7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionAbilityMatches7(ability,event) ==
    ability.kind = "Conditional" /\ ability.trigger = "SourceItemInspectioned" /\ event.tag = "ItemInspectionCard" /\ ability.source = event.object

Exact module download · Source bundle and reproduction instructions

ItemInspectionBeginEvent7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionBeginEvent7(a) ==
    [tag |-> "ItemInspectionCard",itemInspectionId |-> a.id,object |-> a.object,traversalId |-> a.traversalId,siteInspectionId |-> a.siteInspectionId]

Exact module download · Source bundle and reproduction instructions

ItemInspectionClaimObjectiveDisposition7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionClaimObjectiveDisposition7(card,hasAdditionalCost,acceptsAdditionalCost,allAdditionalCostsPayable,actualClaimObjectiveAllowed) ==
    IF card.kind # "Objective" THEN "NotObjective"
    ELSE IF hasAdditionalCost /\ ~acceptsAdditionalCost THEN "DeclineAdditional"
    ELSE IF (hasAdditionalCost /\ ~allAdditionalCostsPayable) \/ ~actualClaimObjectiveAllowed THEN "Unable"
    ELSE "ClaimObjective"

Exact module download · Source bundle and reproduction instructions

ItemInspectionEndEvent7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionEndEvent7(a) == [tag |-> "ItemInspectionEnds",itemInspectionId |-> a.id,object |-> a.object]

Exact module download · Source bundle and reproduction instructions

ItemInspectionFrameValid7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionFrameValid7(a) ==
    /\ a.id \in Nat \ {0} /\ a.encounterAncestors \subseteq Nat \ {0}
    /\ a.active \in BOOLEAN /\ a.complete \in BOOLEAN /\ a.beginMet \in BOOLEAN
    /\ a.active => a.beginMet /\ ~a.complete
    /\ a.complete => ~a.active
    /\ a.midResolving => a.midUsed /\ ~a.midDone
    /\ a.claimObjectiveResolving => ~a.claimObjectiveDone

Exact module download · Source bundle and reproduction instructions

ItemInspectionHistoryCostCount7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionHistoryCostCount7(history,turnId) ==
    Cardinality({id \in DOMAIN history : history[id].turnId = turnId /\ history[id].hadRetireCost})

Exact module download · Source bundle and reproduction instructions

ItemInspectionLookGrant7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionLookGrant7(a,objects,player) ==
    StillItemInspectioning7(a,objects) /\ (player = "SideB" \/ (player = "SideA" /\ a.sourceZone # "SideADeck"))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: StillItemInspectioning7

ItemInspectionMidOptions7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionMidOptions7(card,cardOptions,trashPart,basicPayable,basicAllowed) ==
    {o \in cardOptions \cup {BasicRetireOption7(card,trashPart,basicPayable,basicAllowed)} :
       o.timing = "MidItemInspection" /\ (card.zone # "SideADiscard" \/ ~o.trashesItemInspectioned)}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BasicRetireOption7

ItemInspectionMovementOutcome7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionMovementOutcome7(before,after,objectsAfter,actualMovementResolved,events) ==
    /\ actualMovementResolved
    /\ IF before.active /\ ~ItemInspectionTargetPresent7(before,objectsAfter)
       THEN EndItemInspection7(before,after,"Moved",TRUE,events)
       ELSE after = before /\ events = {}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EndItemInspection7, ItemInspectionTargetPresent7

ItemInspectionProcedureValid7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionProcedureValid7(a,objects) ==
    /\ ItemInspectionFrameValid7(a)
    /\ IF a.complete THEN a.step = "Complete"
       ELSE IF a.active THEN a.step \in ItemInspectionSteps7 /\ ItemInspectionTargetPresent7(a,objects)
       ELSE a.step = "ProcedureCodefd91bef8bbd3" /\ ~a.beginMet

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ItemInspectionFrameValid7, ItemInspectionSteps7, ItemInspectionTargetPresent7

ItemInspectionStepInfo7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionStepInfo7(step) ==
    [kind |-> CASE step = "ProcedureCodefd91bef8bbd3" -> "ItemInspectionCard"
              [] step = "ProcedureCode1dd0e8f05be2" -> "MidItemInspection"
              [] step = "ProcedureCode546db7cc4546" -> "ClaimObjective"
              [] step = "ProcedureCode662478499367" -> "CompleteItemInspection"
              [] OTHER -> "Invalid",
     paidWindow |-> FALSE,objectivePlacementWindow |-> FALSE]

Exact module download · Source bundle and reproduction instructions

ItemInspectionSteps7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionSteps7 == {"ProcedureCodefd91bef8bbd3","ProcedureCode1dd0e8f05be2","ProcedureCode546db7cc4546","ProcedureCode662478499367"}

Exact module download · Source bundle and reproduction instructions

ItemInspectionTargetPresent7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionTargetPresent7(a,objects) ==
    IF a.object \notin DOMAIN objects THEN FALSE
    ELSE objects[a.object].form = "Card" /\ objects[a.object].side = "SideA" /\ objects[a.object].loc = a.originLoc

Exact module download · Source bundle and reproduction instructions

ItemInspectionViewers7 · operator

reference-profile · input revision 2 · CC0 1.0

ItemInspectionViewers7(a,objects,otherLawfulViewers,actualRevealToBoth) ==
    otherLawfulViewers \cup
    {p \in SetupPlayers : ItemInspectionLookGrant7(a,objects,p)} \cup
    (IF StillItemInspectioning7(a,objects) /\ actualRevealToBoth THEN SetupPlayers ELSE {})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ItemInspectionLookGrant7, StillItemInspectioning7, SetupPlayers

MarkDelayedInspectiones7 · operator

reference-profile · input revision 2 · CC0 1.0

MarkDelayedInspectiones7(before,after,actualInspectionEndEvent) ==
    /\ actualInspectionEndEvent.tag = "InspectionEnds"
    /\ after = [id \in DOMAIN before |-> IF before[id].triggerInspectionId = actualInspectionEndEvent.siteInspectionId
                                       THEN [before[id] EXCEPT !.pending = TRUE] ELSE before[id]]

Exact module download · Source bundle and reproduction instructions

MidItemInspectionChoiceAllowed7 · operator

reference-profile · input revision 2 · CC0 1.0

MidItemInspectionChoiceAllowed7(choice,options,mustRetireIfAble,exampleFamily034Applies) ==
    LET payable == PayableMidOptions7(options)
        basicPayable == \E o \in payable : o.id = "BasicRetire"
        trashPayable == \E o \in payable : o.trashesItemInspectioned
    IN /\ choice = "Decline" \/ \E o \in payable : o.id = choice
       /\ (exampleFamily034Applies /\ basicPayable) => choice = "BasicRetire"
       /\ (mustRetireIfAble /\ trashPayable) =>
            choice # "Decline" /\ \E o \in payable : o.id = choice /\ o.trashesItemInspectioned

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: basicPayable, payable, trashPayable

MidOption7 · operator

reference-profile · input revision 2 · CC0 1.0

MidOption7(id,trashesItemInspectioned,canPay,legal) ==
    [id |-> id,timing |-> "MidItemInspection",trashesItemInspectioned |-> trashesItemInspectioned,canPay |-> canPay,legal |-> legal]

Exact module download · Source bundle and reproduction instructions

MidOptionsValid7 · operator

reference-profile · input revision 2 · CC0 1.0

MidOptionsValid7(cardOptions) ==
    /\ \A o \in cardOptions : o.id \notin {"BasicRetire","Decline"}
    /\ Cardinality({o.id : o \in cardOptions}) = Cardinality(cardOptions)

Exact module download · Source bundle and reproduction instructions

NextInspectionStep7 · operator

reference-profile · input revision 2 · CC0 1.0

NextInspectionStep7(step) ==
 CASE step = "ProcedureCode839b301bad95" -> "ProcedureCodeb6067693902e" [] step = "ProcedureCodeb6067693902e" -> "ProcedureCode91f3ee0da236"
   [] step = "ProcedureCode91f3ee0da236" -> "ProcedureCode1404a82ab3ee" [] step = "ProcedureCode1404a82ab3ee" -> "ProcedureCodee35e7c8fc57b"
   [] step = "ProcedureCodee35e7c8fc57b" -> "ProcedureCodeb1fbc90c4ab0" [] step = "ProcedureCodeb1fbc90c4ab0" -> "ProcedureCode1404a82ab3ee"
   [] step = "ProcedureCode8c612115d469" -> "Complete" [] OTHER -> "NoValue"

Exact module download · Source bundle and reproduction instructions

NextItemInspectionStep7 · operator

reference-profile · input revision 2 · CC0 1.0

NextItemInspectionStep7(step) ==
    CASE step = "ProcedureCodefd91bef8bbd3" -> "ProcedureCode1dd0e8f05be2" [] step = "ProcedureCode1dd0e8f05be2" -> "ProcedureCode546db7cc4546"
      [] step = "ProcedureCode546db7cc4546" -> "ProcedureCode662478499367" [] step = "ProcedureCode662478499367" -> "Complete" [] OTHER -> "NoValue"

Exact module download · Source bundle and reproduction instructions

ObserveRootEntries7 · operator

reference-profile · input revision 2 · CC0 1.0

ObserveRootEntries7(before,after,b,objectsAfter,actualRootEntriesDuringInspection) ==
    /\ b.active /\ ~b.complete /\ before.siteInspectionId = b.id
    /\ LET roots == InspectionRootCards7(b,objectsAfter)
           arrivals == actualRootEntriesDuringInspection \cap roots
       IN after = [before EXCEPT
            !.admittedRoots = (@ \cap roots) \ arrivals,
            !.pendingRoots = (@ \cup arrivals) \cap roots]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: arrivals, roots

OneCardTraversalProhibition7 · operator

reference-profile · input revision 2 · CC0 1.0

OneCardTraversalProhibition7(b,history,liveObjects,actualRestrictionApplies,exceptions) ==
    IF actualRestrictionApplies /\ ActualItemInspectionesInTraversal7(history,b.traversalId) # {}
    THEN liveObjects \ exceptions ELSE {}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ActualItemInspectionesInTraversal7

OpenCandidateCapacity7 · operator

reference-profile · input revision 2 · CC0 1.0

OpenCandidateCapacity7(b,objects) ==
    [siteInspectionId |-> b.id,admittedRoots |-> InspectionRootCards7(b,objects),pendingRoots |-> {},deniedRoots |-> {}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InspectionRootCards7

OpenInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

OpenInspection7(id,targetSite,kind,traversalId,origin,caller,encounterAncestors,policy) ==
 [id |-> id,targetSite |-> targetSite,kind |-> kind,traversalId |-> traversalId,origin |-> origin,caller |-> caller,
  encounterAncestors |-> encounterAncestors,policy |-> policy,step |-> "ProcedureCode839b301bad95",
  active |-> FALSE,beginMet |-> FALSE,complete |-> FALSE,returned |-> FALSE,
  archivesPrepared |-> FALSE,randomLimit |-> 1,limitSet |-> FALSE,
  choices |-> <<>>,selectionPending |-> FALSE,selectedObject |-> 0,selectedSource |-> "NoValue",
  currentItemInspectionId |-> 0,usedItemInspectionIds |-> {},completionReason |-> "NoValue"]

Exact module download · Source bundle and reproduction instructions

OpenItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

OpenItemInspection7(id,object,card,traversalId,siteInspectionId,caller,encounterAncestors) ==
 [id |-> id,object |-> object,originLoc |-> card.loc,sourceZone |-> card.zone,
  traversalId |-> traversalId,siteInspectionId |-> siteInspectionId,caller |-> caller,encounterAncestors |-> encounterAncestors,
  step |-> "ProcedureCodefd91bef8bbd3",active |-> FALSE,beginMet |-> FALSE,complete |-> FALSE,returned |-> FALSE,
  midUsed |-> FALSE,midDone |-> FALSE,midResolving |-> FALSE,
  claimObjectiveDone |-> FALSE,claimObjectiveResolving |-> FALSE,completionReason |-> "NoValue"]

Exact module download · Source bundle and reproduction instructions

PayableMidOptions7 · operator

reference-profile · input revision 2 · CC0 1.0

PayableMidOptions7(options) == {o \in options : o.legal /\ o.canPay}

Exact module download · Source bundle and reproduction instructions

PrepareDiscardSite7 · operator

reference-profile · input revision 2 · CC0 1.0

PrepareDiscardSite7(before,after,objects,afterObjects) ==
    /\ before.active /\ ~before.complete /\ before.kind = "SchemaAtom018" /\ before.step = "ProcedureCodeb6067693902e" /\ ~before.archivesPrepared
    /\ after = [before EXCEPT !.archivesPrepared = TRUE]
    /\ afterObjects = [id \in DOMAIN objects |->
         IF objects[id].form = "Card" /\ objects[id].side = "SideA" /\ objects[id].zone = "SideADiscard"
         THEN [objects[id] EXCEPT !.face = "Up"] ELSE objects[id]]

Exact module download · Source bundle and reproduction instructions

RandomLimitApplies7 · operator

reference-profile · input revision 2 · CC0 1.0

RandomLimitApplies7(b) == b.kind \in {"SchemaAtom082","SchemaAtom129"} /\ b.policy.randomLimitEnabled

Exact module download · Source bundle and reproduction instructions

RecordActualItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

RecordActualItemInspection7(beforeHistory,afterHistory,a,turnId,hadRetireCostAtStart,actualItemInspectionBeginEvent) ==
    /\ a.beginMet /\ a.id \in Nat \ {0} /\ a.id \notin DOMAIN beforeHistory /\ turnId \in Nat
    /\ actualItemInspectionBeginEvent = ItemInspectionBeginEvent7(a)
    /\ afterHistory = [id \in DOMAIN beforeHistory \cup {a.id} |->
         IF id = a.id THEN [object |-> a.object,traversalId |-> a.traversalId,siteInspectionId |-> a.siteInspectionId,
                            turnId |-> turnId,hadRetireCost |-> hadRetireCostAtStart]
         ELSE beforeHistory[id]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ItemInspectionBeginEvent7

RecordInspectionChoice7 · operator

reference-profile · input revision 2 · CC0 1.0

RecordInspectionChoice7(before,after,object,source,view,method,actualSelectionAuthority) ==
    /\ InspectionSelectionReady7(before) /\ CandidateViewValid7(view) /\ actualSelectionAuthority
    /\ object # 0 /\ object \notin InspectionChoiceObjects7(before)
    /\ source \in {"Root","SchemaAtom033"}
    /\ object \in (IF source = "Root" THEN view.roots ELSE view.central)
    /\ (source = "SchemaAtom033" /\ RandomLimitApplies7(before)) => InspectionCentralChoices7(before) < before.randomLimit
    /\ IF source = "SchemaAtom033" /\ before.kind = "SchemaAtom082" THEN method \in {"RandomCentralA","SideADirectedCentralA"} ELSE method = "Specific"
    /\ after = [before EXCEPT !.choices = Append(@,[object |-> object,source |-> source,chooser |-> "SideB"]),
          !.selectionPending = TRUE,!.selectedObject = object,!.selectedSource = source]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CandidateViewValid7, InspectionCentralChoices7, InspectionChoiceObjects7, InspectionSelectionReady7, RandomLimitApplies7

ResolveItemInspectionClaimObjective7 · operator

reference-profile · input revision 2 · CC0 1.0

ResolveItemInspectionClaimObjective7(before,after,objects,hasAdditionalCost,acceptsAdditionalCost,
                    allAdditionalCostsPayable,actualClaimObjectiveAllowed,allClaimObjectiveCostsPaid,actualCostCheckpointDrained) ==
    /\ StillItemInspectioning7(before,objects) /\ before.step = "ProcedureCode546db7cc4546"
    /\ before.midDone /\ ~before.midResolving /\ ~before.claimObjectiveResolving /\ ~before.claimObjectiveDone
    /\ LET result == ItemInspectionClaimObjectiveDisposition7(objects[before.object],hasAdditionalCost,acceptsAdditionalCost,
                                            allAdditionalCostsPayable,actualClaimObjectiveAllowed)
       IN IF result = "ClaimObjective" THEN
            /\ allClaimObjectiveCostsPaid /\ (hasAdditionalCost => actualCostCheckpointDrained)
            /\ after = [before EXCEPT !.claimObjectiveResolving = TRUE]
          ELSE after = [before EXCEPT !.claimObjectiveDone = TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: result, StillItemInspectioning7

ReturnInspectionToCaller7 · operator

reference-profile · input revision 2 · CC0 1.0

ReturnInspectionToCaller7(before,after,actualInspectionEndWindowsAndCheckpointComplete,caller) ==
    /\ before.complete /\ ~before.returned /\ ~before.selectionPending /\ before.currentItemInspectionId = 0
    /\ actualInspectionEndWindowsAndCheckpointComplete /\ caller = before.caller
    /\ after = [before EXCEPT !.returned = TRUE]

Exact module download · Source bundle and reproduction instructions

ReturnItemInspectionToCaller7 · operator

reference-profile · input revision 2 · CC0 1.0

ReturnItemInspectionToCaller7(before,after,actualItemInspectionEndWindowsAndCheckpointComplete,caller) ==
    /\ before.complete /\ ~before.returned /\ ~before.midResolving /\ ~before.claimObjectiveResolving
    /\ actualItemInspectionEndWindowsAndCheckpointComplete /\ caller = before.caller
    /\ after = [before EXCEPT !.returned = TRUE]

Exact module download · Source bundle and reproduction instructions

SelectionWithinPolicy7 · operator

reference-profile · input revision 2 · CC0 1.0

SelectionWithinPolicy7(policy,chosenCount) ==
    chosenCount \in Nat /\ (~policy.chosenCapEnabled \/ chosenCount < policy.chosenCap)

Exact module download · Source bundle and reproduction instructions

SideAZoneCards7 · operator

reference-profile · input revision 2 · CC0 1.0

SideAZoneCards7(objects,zone) ==
    {id \in DOMAIN objects : objects[id].form = "Card" /\ objects[id].side = "SideA" /\ objects[id].zone = zone}

Exact module download · Source bundle and reproduction instructions

SkipInspectionSelection7 · operator

reference-profile · input revision 2 · CC0 1.0

SkipInspectionSelection7(before,after,m,objects,deck,prohibited,exampleFamily058Off,actualReevaluationAndCheckpointComplete) ==
    /\ before.active /\ ~before.complete /\ before.step = "ProcedureCode1404a82ab3ee"
    /\ ~before.selectionPending /\ before.currentItemInspectionId = 0
    /\ (RandomLimitApplies7(before) => before.limitSet)
    /\ (before.kind = "SchemaAtom018" => before.archivesPrepared)
    /\ CandidateInputsValid7(before,m,objects,deck) /\ actualReevaluationAndCheckpointComplete
    /\ LET view == InspectionCandidatesDirection7(before,m,objects,deck,prohibited,exampleFamily058Off)
       IN InspectionPolicyComplete7(before.policy,Len(before.choices),view.roots \cup view.central = {})
    /\ after = [before EXCEPT !.step = "ProcedureCode8c612115d469"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: view, CandidateInputsValid7, InspectionPolicyComplete7, RandomLimitApplies7

StillItemInspectioning7 · operator

reference-profile · input revision 2 · CC0 1.0

StillItemInspectioning7(a,objects) == a.active /\ ~a.complete /\ ItemInspectionTargetPresent7(a,objects)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ItemInspectionTargetPresent7

TakeDelayedInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

TakeDelayedInspection7(before,after,conditionId,currentInspectionId,actualSideBMayResolve,actualNewTimingAllowed,outcome) ==
    /\ conditionId \in DOMAIN before /\ before[conditionId].pending /\ before[conditionId].controller = "SideB"
    /\ currentInspectionId = 0 /\ actualSideBMayResolve
    /\ after = [id \in DOMAIN before \ {conditionId} |-> before[id]]
    /\ outcome = [perform |-> actualNewTimingAllowed,
          request |-> [before[conditionId].request EXCEPT !.caller = <<"DelayedInspection",conditionId>>]]

Exact module download · Source bundle and reproduction instructions

UseMidItemInspection7 · operator

reference-profile · input revision 2 · CC0 1.0

UseMidItemInspection7(before,after,objects,option,options,mustRetireIfAble,exampleFamily034Applies,
              actualAllCostsPaid,beginReactionsAndCheckpointDrained) ==
    /\ StillItemInspectioning7(before,objects) /\ before.step = "ProcedureCode1dd0e8f05be2"
    /\ ~before.midUsed /\ ~before.midDone /\ ~before.midResolving
    /\ beginReactionsAndCheckpointDrained /\ actualAllCostsPaid
    /\ option \in PayableMidOptions7(options)
    /\ option.timing = "MidItemInspection"
    /\ objects[before.object].zone # "SideADiscard" \/ ~option.trashesItemInspectioned
    /\ MidItemInspectionChoiceAllowed7(option.id,options,mustRetireIfAble,exampleFamily034Applies)
    /\ after = [before EXCEPT !.midUsed = TRUE,!.midResolving = TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MidItemInspectionChoiceAllowed7, PayableMidOptions7, StillItemInspectioning7