From ebbf88dae0110e9cb00935861fae1857107260cc Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 25 Aug 2026 19:47:52 +0200 Subject: feat(of): disposition per Normae n. 60 An impeded solemnity transfers; every other loser is omitted for that year ('Reliquae celebrationes eo anno omittuntur'). Commemorate is never returned, and that is the rule rather than a gap: the OF has no commemoration of a losing celebration in the EF's sense, and an optional memorial is an election rather than a commemoration. A property over every rank pairing asserts it, so a later edit cannot quietly introduce one. --- lib/rites/rite_of/precedence_of.mli | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'lib/rites/rite_of/precedence_of.mli') diff --git a/lib/rites/rite_of/precedence_of.mli b/lib/rites/rite_of/precedence_of.mli index dfee504..be4713d 100644 --- a/lib/rites/rite_of/precedence_of.mli +++ b/lib/rites/rite_of/precedence_of.mli @@ -38,3 +38,21 @@ val proper_prefix : string same reason: a future sub-rank fits between neighbours without rescaling the table. *) val band : Vocab_of.season Precedence.context -> Vocab_of.rank Precedence.candidate -> int + +(** [disposition ~winner ~loser]: Normae n. 60. An impeded SOLEMNITY is + {!Colitur_kernel.Precedence.Transfer}red; every other losing celebration is + {!Colitur_kernel.Precedence.Omit}ted -- "Reliquae celebrationes eo anno + omittuntur". + + NEVER RETURNS [Commemorate], AND THAT IS THE RULE RATHER THAN A GAP: the OF + has no commemoration of a losing celebration in the EF's sense. An optional + memorial is an election, not a commemoration. Consequently + {!Colitur_kernel.Liturgical_day.t.commemorations} is permanently empty for + this rite, and {!Colitur_kernel.Precedence.privilege} is meaningless here. + + [winner] is unread: n. 60 keys the outcome on the loser's own grade alone, + unlike the EF's RG 92-95. *) +val disposition : + winner:Vocab_of.rank Precedence.candidate -> + loser:Vocab_of.rank Precedence.candidate -> + Precedence.disposition -- cgit v1.3