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

SchemaContracts

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.

resolved · operator

reference-profile · input revision 2 · CC0 1.0

resolved == ResolvedCostCard(c,isPayment,announcedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedCostCard

rules · operator

reference-profile · input revision 2 · CC0 1.0

rules == RulesTextProjection(segments)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: RulesTextProjection

applicable · operator

reference-profile · input revision 2 · CC0 1.0

applicable == c.kind = "Profile" /\ c.side = "SideB"

Exact module download · Source bundle and reproduction instructions

value · operator

reference-profile · input revision 2 · CC0 1.0

value == ResolvedNumberPart(c.startingCapacityUnits,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

LAMBDA · operator

reference-profile · input revision 2 · CC0 1.0

LAMBDA segment : segment.role = "SchemaAtom137"

Exact module download · Source bundle and reproduction instructions

AffiliationGroup · operator

reference-profile · input revision 2 · CC0 1.0

AffiliationGroup(affiliation) ==
    CASE affiliation \in SideAAffiliations2 -> "SideA"
      [] affiliation \in MajorSideBAffiliations2 -> "SchemaAtom104"
      [] affiliation \in MiniSideBAffiliations2 -> "SchemaAtom107"
      [] affiliation = "Unaffiliated" -> "Unaffiliated"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MajorSideBAffiliations2, MiniSideBAffiliations2, SideAAffiliations2

AffiliationLogoCorners · operator

reference-profile · input revision 2 · CC0 1.0

AffiliationLogoCorners == {"SchemaAtom164","SchemaAtom165","SchemaAtom027","SchemaAtom028"}

Exact module download · Source bundle and reproduction instructions

AffiliationMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

AffiliationMetadataValid(c) ==
    /\ c.side \in {"SideA","SideB"}
    /\ c.affiliation \in Affiliations2
    /\ c.affiliation = "Unaffiliated" \/
       IF c.side = "SideA" THEN c.affiliation \in SideAAffiliations2
       ELSE c.affiliation \in SideBAffiliations2

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Affiliations2, SideAAffiliations2, SideBAffiliations2

AffiliationPresentation · operator

reference-profile · input revision 2 · CC0 1.0

AffiliationPresentation(affiliation) ==
    [background |-> IF affiliation = "Unaffiliated" THEN "SchemaAtom184" ELSE "SchemaAtom069",
     cornerLogo |-> IF affiliation = "Unaffiliated" THEN "NoValue" ELSE affiliation,
     watermarkLogo |-> IF affiliation = "Unaffiliated" THEN "NoValue" ELSE affiliation]

Exact module download · Source bundle and reproduction instructions

Affiliations2 · operator

reference-profile · input revision 2 · CC0 1.0

Affiliations2 == SchemaSymbol002 \cup {"Unaffiliated"}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SchemaSymbol002

BaseLinkLayout · operator

reference-profile · input revision 2 · CC0 1.0

BaseLinkLayout == [position |-> "SchemaAtom164",icon |-> "Connection"]

Exact module download · Source bundle and reproduction instructions

BaseLinkMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

BaseLinkMetadataValid(c) ==
    /\ NumberPartValid(c.baseLink)
    /\ c.baseLink.present = (c.kind = "Profile" /\ c.side = "SideB")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

BaseLinkPart · operator

reference-profile · input revision 2 · CC0 1.0

BaseLinkPart(c, resolvedX) == ResolvedNumberPart(c.baseLink,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

CanonicalName · operator

reference-profile · input revision 2 · CC0 1.0

CanonicalName(c) ==
    IF c.kind = "Profile" THEN <<c.canonicalTitle,c.canonicalSubtitle>> ELSE <<c.canonicalTitle>>

Exact module download · Source bundle and reproduction instructions

CapacityCostLayout · operator

reference-profile · input revision 2 · CC0 1.0

CapacityCostLayout == [position |-> "SchemaAtom135",icon |-> "SchemaAtom103"]

Exact module download · Source bundle and reproduction instructions

CapacityCostMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

CapacityCostMetadataValid(c) ==
    /\ NumberPartValid(c.capacityCost)
    /\ c.capacityCost.present = (c.kind = "Technique")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

CapacityCostPart · operator

reference-profile · input revision 2 · CC0 1.0

CapacityCostPart(c, resolvedX) == ResolvedNumberPart(c.capacityCost,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

CapacityLimitWithBase · operator

reference-profile · input revision 2 · CC0 1.0

CapacityLimitWithBase(startingLimit, effectiveAdditiveChanges) ==
    startingLimit + SumMap(effectiveAdditiveChanges)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SumMap

CardResourceUnitCost · operator

reference-profile · input revision 2 · CC0 1.0

CardResourceUnitCost(c, category, protectingBarrierCount, isPayment, announcedX) ==
    LET resolved == ResolvedCostCard(c,isPayment,announcedX)
    IN CASE category = "Play" -> InherentPlayCost(resolved)
         [] category = "Deploy" -> InherentDeployCost(resolved,protectingBarrierCount)
         [] category = "Activation" -> InherentActivationCost(resolved)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InherentActivationCost, InherentDeployCost, InherentPlayCost, resolved

CardRulesAstProjection · operator

reference-profile · input revision 2 · CC0 1.0

CardRulesAstProjection(c) == GameplayTextProjection(c.textSegments)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: GameplayTextProjection

CardSubtypesForView · operator

reference-profile · input revision 2 · CC0 1.0

CardSubtypesForView(o, cardData, convertedObjective, conversionSubtypes, gains, losses) ==
    IF o.form # "Card" THEN {}
    ELSE IF ~SetupRetainsPrintedCharacteristics(o,cardData) THEN {}
    ELSE EffectiveSubtypes(
        IF convertedObjective THEN conversionSubtypes
        ELSE PrintedSubtypeCounts(cardData[o.card].printedSubtypes),gains,losses)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EffectiveSubtypes, PrintedSubtypeCounts, SetupRetainsPrintedCharacteristics

CardTypeLayout · operator

reference-profile · input revision 2 · CC0 1.0

CardTypeLayout(kind) ==
    [position |-> IF kind = "Barrier" THEN "SchemaAtom096" ELSE "SchemaAtom031",
     rotationDegrees |-> IF kind = "Barrier" THEN 90 ELSE 0,
     bold |-> TRUE,order |-> "SchemaAtom071"]

Exact module download · Source bundle and reproduction instructions

CardTypeMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

CardTypeMetadataValid(c) ==
    /\ c.kind \in CardTypes2 /\ c.side \in {"SideA","SideB"}
    /\ IF c.side = "SideA" THEN c.kind \in SetupSideAKinds
       ELSE c.kind \in SetupSideBKinds

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CardTypes2, SetupSideAKinds, SetupSideBKinds

CardTypes2 · operator

reference-profile · input revision 2 · CC0 1.0

CardTypes2 == {"Profile","Objective","Facility","Barrier","Plan","Attachment",
               "Action","Equipment","Technique","Support"}

Exact module download · Source bundle and reproduction instructions

CardTypesForView · operator

reference-profile · input revision 2 · CC0 1.0

CardTypesForView(o, cardData, convertedObjective) ==
    IF o.form # "Card" THEN {}
    ELSE IF ~SetupRetainsPrintedCharacteristics(o,cardData) THEN {}
    ELSE IF convertedObjective THEN {"Objective"} ELSE {cardData[o.card].kind}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SetupRetainsPrintedCharacteristics

CardWithoutSubtype · operator

reference-profile · input revision 2 · CC0 1.0

CardWithoutSubtype(o, effectiveSubtypes, subtype) ==
    o.form = "Card" /\ subtype \notin effectiveSubtypes

Exact module download · Source bundle and reproduction instructions

CopiesOfName · operator

reference-profile · input revision 2 · CC0 1.0

CopiesOfName(objects, names, name) ==
    {id \in objects \cap DOMAIN names : names[id] = name}

Exact module download · Source bundle and reproduction instructions

CostPartLayout · operator

reference-profile · input revision 2 · CC0 1.0

CostPartLayout(category) ==
    [position |-> "SchemaAtom164",currency |-> "ResourceUnit",
     icon |-> IF category = "Activation" THEN "SchemaAtom148" ELSE "SchemaAtom094"]

Exact module download · Source bundle and reproduction instructions

DifferentCanonicalNames · operator

reference-profile · input revision 2 · CC0 1.0

DifferentCanonicalNames(chosen, names) ==
    /\ \A i \in 1..Len(chosen) : chosen[i] \in DOMAIN names
    /\ \A i,j \in 1..Len(chosen) :
         i # j => names[chosen[i]] # names[chosen[j]]

Exact module download · Source bundle and reproduction instructions

EffectiveSubtypes · operator

reference-profile · input revision 2 · CC0 1.0

EffectiveSubtypes(base, gains, losses) ==
    {t \in Subtypes2 : SubtypeBalance(base,gains,losses,t) > 0}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SubtypeBalance, Subtypes2

FilledImportCostSlots · operator

reference-profile · input revision 2 · CC0 1.0

FilledImportCostSlots(slots) ==
    Cardinality({i \in 1..Len(slots) : slots[i]})

Exact module download · Source bundle and reproduction instructions

FirstAbilityCentralTargetSite · operator

reference-profile · input revision 2 · CC0 1.0

FirstAbilityCentralTargetSite(parsedFirstAbility) == parsedFirstAbility.triggerTargetSite

Exact module download · Source bundle and reproduction instructions

GameplayTextProjection · operator

reference-profile · input revision 2 · CC0 1.0

GameplayTextProjection(segments) ==
    LET rules == RulesTextProjection(segments)
    IN [i \in 1..Len(rules) |-> rules[i].rulesAst]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: rules

ImportCostBarLayout · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostBarLayout == [position |-> "SchemaAtom115",slots |-> 5,filledColor |-> "SchemaAtom026"]

Exact module download · Source bundle and reproduction instructions

ImportCostEligibleOutOfAffiliation · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostEligibleOutOfAffiliation(card, profile) ==
    ~OutOfAffiliation(card,profile) \/ card.printedImportCost.present

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: OutOfAffiliation

ImportCostLegalityInput · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostLegalityInput(part) ==
    [hasImportCost |-> part.exists,importCost |-> part.amount]

Exact module download · Source bundle and reproduction instructions

ImportCostLimitLayout · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostLimitLayout(side) ==
    [position |-> IF side = "SideA" THEN "SchemaAtom101" ELSE "SchemaAtom102",box |-> "SchemaAtom100"]

Exact module download · Source bundle and reproduction instructions

ImportCostLimitMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostLimitMetadataValid(c) ==
    /\ c.front \in BOOLEAN /\ NumberPartValid(c.importBudget)
    /\ c.importBudget.present = (c.kind = "Profile" /\ c.front)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

ImportCostLimitPart · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostLimitPart(c, resolvedX) == ResolvedNumberPart(c.importBudget,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

ImportCostMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostMetadataValid(c) ==
    /\ NumberPartValid(c.printedImportCost) /\ ~c.printedImportCost.isX
    /\ c.importCostSlots \in Seq(BOOLEAN)
    /\ c.printedAlliance \in BOOLEAN
    /\ IF c.printedImportCost.present
       THEN /\ Len(c.importCostSlots) = 5
            /\ c.printedImportCost.amount \in 0..5
            /\ c.printedImportCost.amount = FilledImportCostSlots(c.importCostSlots)
       ELSE Len(c.importCostSlots) = 0

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: FilledImportCostSlots, NumberPartValid

ImportCostPartForContext · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostPartForContext(c, context, allianceSatisfied) ==
    [exists |-> c.printedImportCost.present,
     amount |-> IF ~c.printedImportCost.present THEN 0
                ELSE IF context = "SchemaAtom053" /\ c.side = "SideA"
                        /\ c.printedAlliance /\ allianceSatisfied
                     THEN 0 ELSE c.printedImportCost.amount]

Exact module download · Source bundle and reproduction instructions

ImportCostWithinLimit · operator

reference-profile · input revision 2 · CC0 1.0

ImportCostWithinLimit(effectiveImportCostTotal, effectiveLimit) ==
    effectiveImportCostTotal <= effectiveLimit

Exact module download · Source bundle and reproduction instructions

IncrementSubtypeCount · operator

reference-profile · input revision 2 · CC0 1.0

IncrementSubtypeCount(counts, subtype) ==
    [t \in DOMAIN counts \cup {subtype} |->
        IF t = subtype THEN SubtypeCount(counts,t)+1 ELSE counts[t]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SubtypeCount

IndicatorMatchesFirstAbility · operator

reference-profile · input revision 2 · CC0 1.0

IndicatorMatchesFirstAbility(c, parsedFirstAbility) ==
    IF c.targetSiteIndicator = "NoValue" THEN TRUE
    ELSE IndicatorTargetSiteHint(c.targetSiteIndicator) = parsedFirstAbility.triggerTargetSite

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: IndicatorTargetSiteHint

IndicatorTargetSiteHint · operator

reference-profile · input revision 2 · CC0 1.0

IndicatorTargetSiteHint(icon) ==
    CASE icon = "SchemaAtom120" -> "SchemaAtom082"
      [] icon = "SchemaAtom093" -> "SchemaAtom129"
      [] icon = "SchemaAtom042" -> "SchemaAtom018"

Exact module download · Source bundle and reproduction instructions

IntrinsicSubtypeRule · operator

reference-profile · input revision 2 · CC0 1.0

IntrinsicSubtypeRule(subtype) ==
    CASE subtype = "SchemaAtom130" -> "SchemaAtom001"
      [] subtype = "SchemaAtom045" -> "SchemaAtom002"
      [] subtype = "SchemaAtom086" -> "SchemaAtom003"
      [] OTHER -> "NoValue"

Exact module download · Source bundle and reproduction instructions

LinkValue · operator

reference-profile · input revision 2 · CC0 1.0

LinkValue(effectiveBaseLink, deployedLinkContributions) ==
    effectiveBaseLink + SumMap(deployedLinkContributions)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SumMap

MajorSideBAffiliations2 · operator

reference-profile · input revision 2 · CC0 1.0

MajorSideBAffiliations2 == {"SchemaAtom015","GroupB","GroupA"}

Exact module download · Source bundle and reproduction instructions

MiniSideBAffiliations2 · operator

reference-profile · input revision 2 · CC0 1.0

MiniSideBAffiliations2 == {"SchemaAtom010","SchemaAtom017","SchemaAtom157"}

Exact module download · Source bundle and reproduction instructions

MinimumDeckLayout · operator

reference-profile · input revision 2 · CC0 1.0

MinimumDeckLayout(side) ==
    [position |-> IF side = "SideA" THEN "SchemaAtom101" ELSE "SchemaAtom102",box |-> "SchemaAtom175"]

Exact module download · Source bundle and reproduction instructions

MinimumDeckMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

MinimumDeckMetadataValid(c) ==
    /\ c.front \in BOOLEAN /\ NumberPartValid(c.minDeckSize)
    /\ c.minDeckSize.present = (c.kind = "Profile" /\ c.front)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

MinimumDeckPart · operator

reference-profile · input revision 2 · CC0 1.0

MinimumDeckPart(c, resolvedX) == ResolvedNumberPart(c.minDeckSize,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

MinimumDeckSatisfied · operator

reference-profile · input revision 2 · CC0 1.0

MinimumDeckSatisfied(deck, effectiveMinimum) == Len(deck) >= effectiveMinimum

Exact module download · Source bundle and reproduction instructions

NameMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

NameMetadataValid(c) ==
    /\ c.kind \in SetupSideAKinds \cup SetupSideBKinds
    /\ c.title \in STRING /\ c.title # ""
    /\ c.canonicalTitle \in STRING /\ c.canonicalTitle # ""
    /\ c.subtitle \in STRING /\ c.canonicalSubtitle \in STRING
    /\ c.pronouns \in STRING
    /\ IF c.kind = "Profile"
       THEN c.subtitle # "" /\ c.canonicalSubtitle # ""
       ELSE c.subtitle = "" /\ c.canonicalSubtitle = ""

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SetupSideAKinds, SetupSideBKinds

NameParts · operator

reference-profile · input revision 2 · CC0 1.0

NameParts(c) == IF c.kind = "Profile" THEN <<c.title,c.subtitle>> ELSE <<c.title>>

Exact module download · Source bundle and reproduction instructions

NamePlacement · operator

reference-profile · input revision 2 · CC0 1.0

NamePlacement(kind) ==
    IF kind \in {"Profile","Objective","Barrier","Plan","Action","Support"}
    THEN "SchemaAtom163" ELSE "SchemaAtom023"

Exact module download · Source bundle and reproduction instructions

NameReference · operator

reference-profile · input revision 2 · CC0 1.0

NameReference(isSelf, source, objects, names, name) ==
    IF isSelf THEN {source} \cap objects ELSE CopiesOfName(objects,names,name)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CopiesOfName

NoNumber · operator

reference-profile · input revision 2 · CC0 1.0

NoNumber == NumberPart(FALSE,0)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPart

NumberPart · operator

reference-profile · input revision 2 · CC0 1.0

NumberPart(present, amount) == [present |-> present,isX |-> FALSE,amount |-> amount]

Exact module download · Source bundle and reproduction instructions

NumberPartValid · operator

reference-profile · input revision 2 · CC0 1.0

NumberPartValid(p) ==
    /\ p.present \in BOOLEAN /\ p.isX \in BOOLEAN /\ p.amount \in Int
    /\ (~p.present => ~p.isX)
    /\ ((~p.present \/ p.isX) => p.amount = 0)

Exact module download · Source bundle and reproduction instructions

NumberValue · operator

reference-profile · input revision 2 · CC0 1.0

NumberValue(p, isPayment, announcedX) ==
    IF ~p.present THEN 0 ELSE IF p.isX THEN XValue(isPayment,announcedX) ELSE p.amount

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: XValue

ObjectivePlacement · operator

reference-profile · input revision 2 · CC0 1.0

ObjectivePlacement(objectiveAreaRows) ==
    SumMap([id \in DOMAIN objectiveAreaRows |->
        IF objectiveAreaRows[id].form = "Card" /\ objectiveAreaRows[id].kind = "Objective"
        THEN objectiveAreaRows[id].objectivePoints ELSE 0])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SumMap

ObjectivePointLayout · operator

reference-profile · input revision 2 · CC0 1.0

ObjectivePointLayout == [position |-> "SchemaAtom032",icon |-> "SchemaAtom161"]

Exact module download · Source bundle and reproduction instructions

ObjectivePointsMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

ObjectivePointsMetadataValid(c) ==
    /\ NumberPartValid(c.objectivePoints)
    /\ c.objectivePoints.present = (c.kind = "Objective")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

ObjectivePointsPart · operator

reference-profile · input revision 2 · CC0 1.0

ObjectivePointsPart(c, resolvedX) == ResolvedNumberPart(c.objectivePoints,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

PrintedCostMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

PrintedCostMetadataValid(c) ==
    /\ c.kind \in SetupSideAKinds \cup SetupSideBKinds
    /\ \A p \in {c.playCost,c.deployCost,c.activationCost} : NumberPartValid(p)
    /\ c.playCost.present = (c.kind \in {"Action","Plan"})
    /\ c.deployCost.present = (c.kind \in {"Equipment","Technique","Support"})
    /\ c.activationCost.present = (c.kind \in {"Facility","Barrier","Attachment"})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid, SetupSideAKinds, SetupSideBKinds

PrintedCostPart · operator

reference-profile · input revision 2 · CC0 1.0

PrintedCostPart(c, category) ==
    CASE category = "Play" -> c.playCost
      [] category = "Deploy" -> c.deployCost
      [] category = "Activation" -> c.activationCost

Exact module download · Source bundle and reproduction instructions

PrintedSubtypeCounts · operator

reference-profile · input revision 2 · CC0 1.0

PrintedSubtypeCounts(printedSubtypes) == [t \in printedSubtypes |-> 1]

Exact module download · Source bundle and reproduction instructions

PrintedSubtypeMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

PrintedSubtypeMetadataValid(c) ==
    /\ c.kind \in CardTypes2
    /\ c.printedSubtypes \subseteq SubtypesByPrintedType[c.kind]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CardTypes2, SubtypesByPrintedType

ProfileStartingCapacity · operator

reference-profile · input revision 2 · CC0 1.0

ProfileStartingCapacity(c, resolvedX) ==
    LET applicable == c.kind = "Profile" /\ c.side = "SideB"
        value == ResolvedNumberPart(c.startingCapacityUnits,resolvedX)
    IN [applicable |-> applicable,
        amount |-> IF applicable THEN StartingCapacity(value.exists,value.amount) ELSE 0]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: StartingCapacity, applicable, value

ProgressLayout · operator

reference-profile · input revision 2 · CC0 1.0

ProgressLayout == [position |-> "SchemaAtom165",icon |-> "SchemaAtom147"]

Exact module download · Source bundle and reproduction instructions

ProgressMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

ProgressMetadataValid(c) ==
    /\ NumberPartValid(c.progressRequirement)
    /\ c.progressRequirement.present = (c.kind = "Objective")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

ProgressPart · operator

reference-profile · input revision 2 · CC0 1.0

ProgressPart(c, resolvedX) == ResolvedNumberPart(c.progressRequirement,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

ProgressThresholdMet · operator

reference-profile · input revision 2 · CC0 1.0

ProgressThresholdMet(counterCount, effectiveRequirement) ==
    counterCount >= effectiveRequirement

Exact module download · Source bundle and reproduction instructions

ResolvedCostCard · operator

reference-profile · input revision 2 · CC0 1.0

ResolvedCostCard(c, isPayment, announcedX) ==
    [kind |-> c.kind,playCost |-> NumberValue(c.playCost,isPayment,announcedX),
     deployCost |-> NumberValue(c.deployCost,isPayment,announcedX),
     activationCost |-> NumberValue(c.activationCost,isPayment,announcedX)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberValue

ResolvedNumberPart · operator

reference-profile · input revision 2 · CC0 1.0

ResolvedNumberPart(p, resolvedX) ==
    [exists |-> p.present,
     amount |-> IF ~p.present THEN 0 ELSE IF p.isX THEN resolvedX ELSE p.amount]

Exact module download · Source bundle and reproduction instructions

RetireCostLayout · operator

reference-profile · input revision 2 · CC0 1.0

RetireCostLayout == [position |-> "SchemaAtom102",icon |-> "SchemaAtom169",currency |-> "ResourceUnit"]

Exact module download · Source bundle and reproduction instructions

RetireCostMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

RetireCostMetadataValid(c) ==
    /\ NumberPartValid(c.trashCost)
    /\ CASE c.kind \in {"Facility","Attachment"} -> c.trashCost.present
         [] c.kind \in {"Barrier","Plan"} -> TRUE
         [] OTHER -> ~c.trashCost.present

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

RetireCostPart · operator

reference-profile · input revision 2 · CC0 1.0

RetireCostPart(c, isPayment, announcedX) ==
    [exists |-> c.trashCost.present,amount |-> NumberValue(c.trashCost,isPayment,announcedX)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberValue

RulesTextProjection · operator

reference-profile · input revision 2 · CC0 1.0

RulesTextProjection(segments) ==
    SelectSeq(segments,LAMBDA segment : segment.role = "SchemaAtom137")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LAMBDA

SchemaSymbol002 · operator

reference-profile · input revision 2 · CC0 1.0

SchemaSymbol002 == SideAAffiliations2 \cup SideBAffiliations2

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SideAAffiliations2, SideBAffiliations2

SideAAffiliations2 · operator

reference-profile · input revision 2 · CC0 1.0

SideAAffiliations2 == {"SchemaAtom083","SchemaAtom090","SchemaAtom112","SchemaAtom183"}

Exact module download · Source bundle and reproduction instructions

SideBAffiliations2 · operator

reference-profile · input revision 2 · CC0 1.0

SideBAffiliations2 == MajorSideBAffiliations2 \cup MiniSideBAffiliations2

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MajorSideBAffiliations2, MiniSideBAffiliations2

SingleSubtypeChoiceAllowed · operator

reference-profile · input revision 2 · CC0 1.0

SingleSubtypeChoiceAllowed(chosen, specificKind) ==
    IF Len(chosen) = 1 THEN SubtypeChoiceAllowed(chosen[1],specificKind) ELSE FALSE

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SubtypeChoiceAllowed

StandardMinimumBound · operator

reference-profile · input revision 2 · CC0 1.0

StandardMinimumBound(effectiveMinimum) == MaxOf(0,effectiveMinimum)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MaxOf

StandardProfileAffiliationValid · operator

reference-profile · input revision 2 · CC0 1.0

StandardProfileAffiliationValid(c) ==
    c.kind # "Profile" \/ c.affiliation \in SchemaSymbol002

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SchemaSymbol002

StartingCapacityLayout · operator

reference-profile · input revision 2 · CC0 1.0

StartingCapacityLayout == [position |-> "SchemaAtom164",icon |-> "SchemaAtom103"]

Exact module download · Source bundle and reproduction instructions

StartingCapacityMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

StartingCapacityMetadataValid(c) ==
    /\ NumberPartValid(c.startingCapacityUnits)
    /\ (c.startingCapacityUnits.present => c.kind = "Profile" /\ c.side = "SideB")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

StrengthLayout · operator

reference-profile · input revision 2 · CC0 1.0

StrengthLayout(c) ==
    IF c.kind = "Technique" /\ ~c.printedBarrierResponseCard
    THEN [position |-> "SchemaAtom027",icon |-> "SchemaAtom052"]
    ELSE IF c.strength.present THEN [position |-> "SchemaAtom027",icon |-> "SchemaAtom095"]
    ELSE [position |-> "NoValue",icon |-> "NoValue"]

Exact module download · Source bundle and reproduction instructions

StrengthMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

StrengthMetadataValid(c) ==
    /\ c.printedBarrierResponseCard \in BOOLEAN /\ NumberPartValid(c.strength)
    /\ c.strength.present = (c.kind = "Barrier" \/ (c.kind = "Technique" /\ c.printedBarrierResponseCard))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NumberPartValid

StrengthPart · operator

reference-profile · input revision 2 · CC0 1.0

StrengthPart(c, resolvedX) == ResolvedNumberPart(c.strength,resolvedX)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolvedNumberPart

StrengthThresholdMet · operator

reference-profile · input revision 2 · CC0 1.0

StrengthThresholdMet(effectiveBreakerStrength, effectiveBarrierStrength) ==
    effectiveBreakerStrength >= effectiveBarrierStrength

Exact module download · Source bundle and reproduction instructions

SubtypeBalance · operator

reference-profile · input revision 2 · CC0 1.0

SubtypeBalance(base, gains, losses, subtype) ==
    SubtypeCount(base,subtype)+SubtypeCount(gains,subtype)-SubtypeCount(losses,subtype)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SubtypeCount

SubtypeChoiceAllowed · operator

reference-profile · input revision 2 · CC0 1.0

SubtypeChoiceAllowed(subtype, specificKind) ==
    IF specificKind = "SchemaAtom016" THEN subtype \in Subtypes2
    ELSE IF specificKind \in CardTypes2
         THEN subtype \in SubtypesByPrintedType[specificKind] ELSE FALSE

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CardTypes2, Subtypes2, SubtypesByPrintedType

SubtypeCount · operator

reference-profile · input revision 2 · CC0 1.0

SubtypeCount(counts, subtype) ==
    IF subtype \in DOMAIN counts THEN counts[subtype] ELSE 0

Exact module download · Source bundle and reproduction instructions

SubtypeCountsValid · operator

reference-profile · input revision 2 · CC0 1.0

SubtypeCountsValid(counts) ==
    /\ DOMAIN counts \subseteq Subtypes2
    /\ \A t \in DOMAIN counts : counts[t] \in Nat

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Subtypes2

SubtypeFlagsConsistent · operator

reference-profile · input revision 2 · CC0 1.0

SubtypeFlagsConsistent(c) ==
    /\ c.printedBarrierResponseCard = ("SchemaAtom086" \in c.printedSubtypes)
    /\ c.printedAlliance = ("SchemaAtom013" \in c.printedSubtypes)

Exact module download · Source bundle and reproduction instructions

SubtypeLayout · operator

reference-profile · input revision 2 · CC0 1.0

SubtypeLayout == [order |-> "SchemaAtom012"]

Exact module download · Source bundle and reproduction instructions

SubtypeReference · operator

reference-profile · input revision 2 · CC0 1.0

SubtypeReference(token, isBold) ==
    IF isBold /\ token \in Subtypes2 THEN {token} ELSE {}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Subtypes2

Subtypes2 · operator

reference-profile · input revision 2 · CC0 1.0

Subtypes2 == UNION {SubtypesByPrintedType[kind] : kind \in CardTypes2}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CardTypes2, SubtypesByPrintedType

SubtypesByPrintedType · operator

reference-profile · input revision 2 · CC0 1.0

SubtypesByPrintedType ==
    [Profile |-> {"SchemaAtom024","SchemaAtom038","SideA","SchemaAtom050","SchemaAtom057","SchemaAtom061","SchemaAtom062","SchemaAtom074","SchemaAtom097","SchemaAtom106","SchemaAtom114","SchemaAtom124","SchemaAtom150","SchemaAtom153","SchemaAtom174"},
     Objective |-> {"SchemaAtom014","SchemaAtom019","SchemaAtom066","SchemaAtom067","SchemaAtom089","SchemaAtom097","SchemaAtom113","SchemaAtom127","SchemaAtom128","Research","SchemaAtom142","SchemaAtom145","SchemaAtom149"},
     Facility |-> {"SchemaAtom009","SchemaAtom011","SchemaAtom013","SchemaAtom014","SchemaAtom021","SchemaAtom024","SchemaAtom029","SchemaAtom034","SchemaAtom038","SchemaAtom047","SchemaAtom055","SchemaAtom064","SchemaAtom065","SchemaAtom068","SchemaAtom079","SchemaAtom085","SchemaAtom088","SchemaAtom097","SchemaAtom125","SchemaAtom127","SchemaAtom130","Research","SchemaAtom136","SchemaAtom144","SchemaAtom167"},
     Barrier |-> {"SchemaAtom007","SchemaAtom011","SchemaAtom014","SchemaSymbol001","SchemaAtom024","SchemaAtom040","SchemaAtom055","SchemaAtom056","SchemaAtom058","SchemaAtom067","SchemaAtom080","SchemaAtom084","SchemaAtom097","SchemaAtom109","SchemaAtom110","SchemaAtom113","SchemaAtom118","SchemaAtom127","Sentry","SchemaAtom166","SchemaAtom168"},
     Plan |-> {"SchemaAtom013","SchemaAtom025","SchemaAtom043","SchemaAtom048","SchemaAtom063","SchemaAtom081","SchemaAtom097","SchemaAtom099","SchemaAtom105","SchemaAtom127","SchemaAtom133","SchemaAtom160","SchemaAtom167","SchemaAtom170"},
     Attachment |-> {"SchemaAtom009","SchemaAtom011","SchemaAtom013","SchemaAtom014","SchemaAtom021","SchemaAtom024","SchemaAtom034","SchemaAtom038","SchemaAtom064","SchemaAtom065","SchemaAtom067","SchemaAtom068","SchemaAtom085","SchemaAtom119","SchemaAtom121","SchemaAtom127","SchemaAtom130","SchemaAtom136","SchemaAtom144","SchemaAtom143","SchemaAtom159","SchemaAtom173"},
     Action |-> {"SchemaAtom043","SchemaAtom048","SchemaAtom063","SchemaAtom091","SchemaAtom108","SchemaAtom121","SchemaAtom126","SchemaAtom138","SchemaAtom139","SchemaAtom150","SchemaAtom160"},
     Equipment |-> {"SchemaAtom035","SchemaAtom041","SchemaAtom045","SchemaAtom046","SchemaAtom049","SchemaAtom077","Connection","SchemaAtom108","SchemaAtom150","SchemaAtom178","SchemaAtom182"},
     Technique |-> {"SchemaAtom006","SchemaAtom030","SchemaAtom039","SchemaAtom051","SchemaAtom054","SchemaAtom055","SchemaAtom059","SchemaAtom073","SchemaAtom086","SchemaAtom092","SchemaAtom150","SchemaAtom171","SchemaAtom180","SchemaAtom182"},
     Support |-> {"SchemaAtom037","SchemaAtom038","SchemaAtom041","SchemaAtom044","Trait","SchemaAtom078","SchemaAtom079","SchemaAtom091","Connection","SchemaAtom098","SchemaAtom132","SchemaAtom136","SchemaAtom139","SchemaAtom144","SchemaAtom149","SchemaAtom150","SchemaAtom179"}]

Exact module download · Source bundle and reproduction instructions

TargetSiteIndicatorIcons2 · operator

reference-profile · input revision 2 · CC0 1.0

TargetSiteIndicatorIcons2 == {"SchemaAtom120","SchemaAtom093","SchemaAtom042"}

Exact module download · Source bundle and reproduction instructions

TargetSiteIndicatorLayout · operator

reference-profile · input revision 2 · CC0 1.0

TargetSiteIndicatorLayout == [position |-> "SchemaAtom116",purpose |-> "SchemaAtom181"]

Exact module download · Source bundle and reproduction instructions

TargetSiteIndicatorMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

TargetSiteIndicatorMetadataValid(c) ==
    /\ c.front \in BOOLEAN
    /\ c.targetSiteIndicator \in TargetSiteIndicatorIcons2 \cup {"NoValue"}
    /\ (c.profileFamily = "SelectableProfile" => c.kind = "Profile" /\ c.side = "SideA")
    /\ IF c.profileFamily = "SelectableProfile" /\ ~c.front
       THEN c.targetSiteIndicator \in TargetSiteIndicatorIcons2
       ELSE c.targetSiteIndicator = "NoValue"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: TargetSiteIndicatorIcons2

TextAbilityActive · operator

reference-profile · input revision 2 · CC0 1.0

TextAbilityActive(abilityPresent, sourceCardActive, ruleException) ==
    abilityPresent /\ (sourceCardActive \/ ruleException)

Exact module download · Source bundle and reproduction instructions

TextBoxLayout · operator

reference-profile · input revision 2 · CC0 1.0

TextBoxLayout == [position |-> "SchemaAtom033"]

Exact module download · Source bundle and reproduction instructions

TextBoxMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

TextBoxMetadataValid(segments) ==
    /\ \A i \in 1..Len(segments) : TextSegmentValid(segments[i])
    /\ \A i,j \in 1..Len(segments) :
         (segments[i].role = "SchemaAtom072" /\ segments[j].role = "SchemaAtom137") => j < i

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: TextSegmentValid

TextDirectlyReferenceable · operator

reference-profile · input revision 2 · CC0 1.0

TextDirectlyReferenceable(segment) == segment.role = "SchemaAtom137"

Exact module download · Source bundle and reproduction instructions

TextRoles2 · operator

reference-profile · input revision 2 · CC0 1.0

TextRoles2 == {"SchemaAtom137","SchemaAtom072","SchemaAtom131"}

Exact module download · Source bundle and reproduction instructions

TextSegment · operator

reference-profile · input revision 2 · CC0 1.0

TextSegment(role, text, italic, parenthesized, rulesAst) ==
    [role |-> role,text |-> text,italic |-> italic,
     parenthesized |-> parenthesized,rulesAst |-> rulesAst]

Exact module download · Source bundle and reproduction instructions

TextSegmentValid · operator

reference-profile · input revision 2 · CC0 1.0

TextSegmentValid(segment) ==
    /\ segment.role \in TextRoles2 /\ segment.text \in STRING
    /\ segment.italic \in BOOLEAN /\ segment.parenthesized \in BOOLEAN
    /\ (segment.role \in {"SchemaAtom072","SchemaAtom131"} =>
         segment.italic /\ segment.rulesAst = <<>>)
    /\ (segment.role = "SchemaAtom131" => segment.parenthesized)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: TextRoles2

UniqueMetadataValid · operator

reference-profile · input revision 2 · CC0 1.0

UniqueMetadataValid(c) ==
    /\ c.unique \in BOOLEAN
    /\ c.uniqueSymbol \in {"SchemaAtom060","NoValue"}
    /\ c.uniqueSymbol = UniquePrefix(c.unique)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: UniquePrefix

UniquePrefix · operator

reference-profile · input revision 2 · CC0 1.0

UniquePrefix(unique) == IF unique THEN "SchemaAtom060" ELSE "NoValue"

Exact module download · Source bundle and reproduction instructions

UniqueSymbolPlacement · operator

reference-profile · input revision 2 · CC0 1.0

UniqueSymbolPlacement == "SchemaAtom022"

Exact module download · Source bundle and reproduction instructions

XNumber · operator

reference-profile · input revision 2 · CC0 1.0

XNumber == [present |-> TRUE,isX |-> TRUE,amount |-> 0]

Exact module download · Source bundle and reproduction instructions