C.3.A:4 - Normative guard macros
Names such as Guard_TypedClaim are editorial handles. A context may alias them only when the same objects, values, and refusal distinctions remain recoverable.
C.3.A:4.1 - Guard_TypedClaim — declaration-level admission
Intent. Decide whether claim C, quantified over local kind k_claim, may enter a receiving use restricted to kind k_receive in TargetSlice, without claiming anything yet about an unnamed candidate.
Guard_TypedClaim(C, k_claim, claimSignatureEdition, k_receive, receiveSignatureEdition, TargetSlice, thresholds?) SHALL:
- recover the exact
KindSignaturedeclaration episteme editions whose respectiveEntityOfConcernvalues arek_claimandk_receive, and whose evaluation domains and effective reference schemes cover the declared use; when both roles use the same kind and edition, state that identity rather than duplicating the declaration; - establish declaration-level kind compatibility:
- the kinds are identical or
SubkindOfObtains(k_receive, k_claim; effectiveReferenceScheme)holds under C.3.1, with an identifiedR_sub : U.SubkindOfoccurrence only when occurrence identity is needed; or - for a required directional correspondence between independently identified distinct kinds, an obtaining KindBridge relates exact source
k_claimand targetk_receiveunder the paired source and targetKindSignatureeditions, and a separate current bridge assertion states the mapping, applicability, loss,CL^k, evidence, and admitted receiving use;
- the kinds are identical or
- require
U.ClaimScope(C)to cover the exactTargetSliceand require an explicitGamma_timeselector; - apply only the justified bridge consequences to R;
- check evidence freshness separately when the admission implies reliance; and
- check a policy-required formality threshold on the exact claim or declaration episteme that owns the value.
The subkind direction above is contravariant only for restricting a universally quantified claim: a claim over Vehicle may enter a PassengerCar-restricted use when PassengerCar is a subkind of Vehicle. It is not a generic compatibility direction for producer outputs, operation arguments, mutable positions, or arbitrary typed slots; each such use states its own variance rule. This guard MUST NOT invent an anonymous candidate or infer a candidate classification from declaration compatibility.
C.3.A:4.2 - Guard_CandidateUse — apply a typed claim to an exact candidate
Intent. Decide whether claim C, quantified over k_claim, may be used for exact target-side candidate candidate in a receiving use restricted to k_receive.
Guard_CandidateUse(C, candidate, k_claim, claimSignatureEdition, k_receive, receiveSignatureEdition, TargetSlice) SHALL:
- identify the candidate under its direct governor before classification;
- satisfy
Guard_TypedClaimfor the same claim-kind and receiving-kind editions and slice; - evaluate
J(candidate, k_receive, receiveSignatureEdition, TargetSlice); - continue candidate-bearing use only on
true: for a proper subkind, the already establishedSubkindOfObtains(k_receive, k_claim; RS)supplies the monotone claim-kind consequence; for a bridged use, rely only through the obtaining KindBridge and its current assertion, without inventing a source-context candidate judgment; - refuse on known
falsewhile retaining that value; and - refuse on
unknownwhile retaining the missing dependency or unavailable support reason.
Evidence may support a classification assertion, but record presence, bridge presence, or guard invocation MUST NOT make the candidate satisfy the receiving criterion. When k_claim and k_receive are identical under one declaration edition, record that identity and evaluate the candidate once.
C.3.A:4.3 - Guard_TypedJoin — compose typed producers and consumers
Intent. Compose producer A, which declares output kind k_A, with consumer B, which expects input kind k_B.
Guard_TypedJoin(A, k_A, edition_A; B, k_B, edition_B; TargetSlice) SHALL:
- pin both declaration episteme editions;
- establish output-to-input compatibility in the covariant flow direction:
- the kinds are identical or
SubkindOfObtains(k_A, k_B; effectiveReferenceScheme)holds; or - for a bridged flow, an obtaining KindBridge maps
k_Ato exact, independently identified distinct target-side kindk_A', its separate assertion carries the current mapping and loss basis, andk_A'is identical tok_BorSubkindOfObtains(k_A', k_B; targetReferenceScheme)holds;
- the kinds are identical or
- compute serial scope as the intersection of the two governed scopes and require coverage of
TargetSlice; - route bridge consequences to R and check freshness separately; and
- when an actual produced candidate enters B, evaluate
J(candidate, k_B, edition_B, TargetSlice)and continue only ontrue, preservingfalseandunknownseparately from refusal.
Declaration compatibility alone MUST NOT classify a future or actual output. Scope widening MUST NOT repair a type mismatch. The universal-claim variance rule in Guard_TypedClaim does not reverse this producer-to-consumer direction.
C.3.A:4.4 - Guard_MaskedUse — exact RoleMask use
Intent. Use exact candidate candidate under a named RoleMask declaration in TargetSlice.
Guard_MaskedUse(artifact, candidate, kind, kindSignatureEdition, roleMaskEdition, TargetSlice) SHALL:
- recover the exact C.2.1 RoleMask declaration episteme, its base kind, pinned base signature edition, intended use, candidate-feature constraints, bindings, dependencies, and definedness;
- check artifact scope separately through USM;
- evaluate
J_mask(candidate, kind, kindSignatureEdition, roleMaskEdition, TargetSlice); - continue only on
true, refuse while preserving knownfalse, and fail closed while preservingunknown; - keep context predicates out of the candidate-feature criterion; and
- for cross-context use, compare base-kind identity and recover target declarations; when this use requires a correspondence between distinct kinds, establish the KindBridge relation and assertion under C.3.3; recover any separate
MaskAdapterdeclaration episteme before evaluating the target masked judgment.
A mask name is not a kind synonym. Repeated mask use can trigger review for a separately identified local kind and independently obtaining U.SubkindOf relation; no guard or catalog action performs that admission.
C.3.A:4.5 - Guard_SpanUnion_Typed — parallel support lines
Intent. Publish SpanUnion for the same typed claim supported by independent lines.
For each line, the guard SHALL:
- recover the same governed claim, quantified kind, and signature edition;
- satisfy declaration-level typed admission in that line’s slice;
- when a line’s evidence is candidate-specific, bind each exact candidate and its exact judgment rather than treating a row label as classification;
- preserve line-specific bridge consequences and freshness;
- provide the USM independence justification; and
- include no slice outside the union of covered line scopes.
If lines quantify over genuinely different kinds, normalize through separately justified kind relations or publish distinct claims; do not hide the difference in SpanUnion.
C.3.A:4.6 - Guard_XContext_Typed — cross-context typed reuse
Intent. Reuse claim C from a source context in target TargetSlice while keeping scope translation, kind correspondence, and target classification separate.
Guard_XContext_Typed(C, sourceKind, sourceSignatureEdition, targetKind, targetSignatureEdition, TargetSlice, candidate?) SHALL:
- when the receiving claim requires Scope translation, recover the obtaining Scope Bridge and its applicable congruence assessment, the separate affirmative translation-use claim, and the current reliance branch under A.2.6;
- compare source and target kind identity and establish the receiving use’s declaration-level compatibility under §4.1; if that compatibility relies on a directional correspondence between distinct kinds, recover an obtaining KindBridge relation with exact source/target kind participants and its separate bridge assertion with pinned scheme/signature editions, mapping rule, definedness,
CL^k, loss, evidence, and admitted use; - recover the independently identified target
KindSignatureedition; - require Claim scope, translated when needed, to cover
TargetSlice; - when an actual candidate is current, evaluate the fresh target judgment
J(candidate, targetKind, targetSignatureEdition, TargetSlice)and preserve all three values; - apply the justified scope- and kind-bridge consequences to R only; and
- make the separate allow/refuse decision.
A source judgment may support reliance but MUST NOT be copied as target truth. If no candidate is current, the guard ends at declaration-level compatibility and scope; it does not fabricate one.