Holdings¶
An
Opinion’s announcement that it posits or rejects a legalRule.Note that if an opinion merely says the court is not deciding whether a
Ruleis valid, there is noHolding, and noRuleobject should be created. Deciding not to decide aRule’s validity is not the same thing as deciding that theRuleis undecided.- Parameters
rule – a statement of a legal doctrine about a
Procedurefor litigation.rule_valid –
Truemeans theRuleis asserted to be valid (or useable by a court in litigation).Falsemeans it’s asserted to be invalid.decided –
Falsemeans that it should be deemed undecided whether theRuleis valid, and thus can have the effect of overruling prior holdings finding theRuleto be either valid or invalid. Seemingly,decided=Falseshould render therule_validflag irrelevant.exclusive – if True, the stated rule is asserted to be the only way to establish the output that is the output of the rule.
generic – if True, indicates that the specific attributes of this holding are irrelevant in the context of a different holding that is referencing this holding.
Move misplaced fields that belong on Rule or Predicate models.
Block “exclusive” flag from being used when “rule_valid” is False.
- Return type
Block “exclusive” flag from being used when “decided” is False.
- Return type
Create new Holding without an existing Rule or Procedure.
Get Procedure from Rule.
Get Factors that specifically don’t preclude application of the Holding.
Get inputs from Procedure.
Get outputs from Procedure.
Get Enactments required to apply the Holding.
Get Enactments that specifically don’t preclude application of the Holding.
Call
Procedure'sterms()method.- Return type
- Returns
terms from
self’sProcedure
Get
Factors that can be replaced without changingselfs meaning.- Return type
- Returns
generic
Factors fromself’sProcedure
Whether court “MUST” apply holding when it is applicable.
- Return type
Whether holding is applicable in “ALL” cases where inputs are present.
- Return type
Show how first Holding triggers second, assumed not to be “exclusive” way to reach result.
Add enactment and sort self’s Enactments.
- Return type
Add “despite” enactment and sort self’s “despite” Enactments.
- Return type
Create new Holding combining self and other into a single step, if possible.
The Holdings can be combined only if the application of Holding
selfnecessarily provides all the required inputs for the application ofother.
Find context matches that would result in a contradiction with other.
Works by testing whether
selfwould implyotherifotherhad an opposite value forrule_valid.This method takes three main paths depending on whether the holdings
selfandotherassert that rules are decided or undecided.A
decidedRulecan never contradict a previous statement that anyRulewas undecided.If rule A implies rule B, then a holding that B is undecided contradicts a prior
Ruledeciding that rule A is valid or invalid.
Check if other can be compared to self for implication or contradiction.
- Return type
Test for implication.
See
Procedure.implies_all_to_all()andProcedure.implies_all_to_some()for explanations of howinputs,outputs, anddespiteFactors affect implication.
Yield contexts that would cause self and other to have same meaning.
- Return type
Test if other implies self.
This function is for handling implication checks for classes that don’t know the structure of the
Holdingclass, such asFactandRule.- Return type
Count generic
Factors needed as context for thisHolding.- Returns
the number of generic
Factors needed for self’sProcedure.
Yield
Holdings that can be inferred from the “exclusive” flag.The generator will be empty if self.exclusive is False.
Yield contexts that would cause self and other to have same meaning.
- Return type
Get new copy of
selfwith an opposite value forrule_valid.
Create new
Holding, replacing keys ofchangeswith values.- Return type
- Returns
a version of
selfwith the new context.
Yield all
Holdings with exclusive is False implied by self.- Return type
HoldingGroup
Set inputs of this Holding.
- Return type
Set Factors that specifically do not preclude applying this Holding.
- Return type
Set outputs of this Holding.
- Return type
Set Enactments required to apply this Holding.
- Return type
Set Enactments that specifically do not preclude applying this Holding.
- Return type
Infer a Holding from all inputs and outputs of self and other, in context.
Creates a new Holding with all of the inputs and all of the outputs of both of the two original Holdings.
However, you only get such a new Holding if it can be inferred by accepting the truth of the two original Holdings.
If self contradicts() other, the operation returns None. Likewise, if the two original Holdings both have the value False for the parameter universal, the operation will return None if it’s possible that the “SOME” cases where one of the original Holdings applies don’t overlap with the “SOME” cases where the other applies.
Return str(self).
list of weak references to the object (if defined)