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
Rule
is valid, there is noHolding
, and noRule
object should be created. Deciding not to decide aRule
’s validity is not the same thing as deciding that theRule
is undecided.- Parameters
-
rule – a statement of a legal doctrine about a
Procedure
for litigation. rule_valid –
True
means theRule
is asserted to be valid (or useable by a court in litigation).False
means it’s asserted to be invalid.decided –
False
means that it should be deemed undecided whether theRule
is valid, and thus can have the effect of overruling prior holdings finding theRule
to be either valid or invalid. Seemingly,decided=False
should render therule_valid
flag 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
Factor
s that can be replaced without changingself
s meaning.- Return type
- Returns
generic
Factor
s 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
self
necessarily provides all the required inputs for the application ofother
.
Find context matches that would result in a contradiction with other.
Works by testing whether
self
would implyother
ifother
had an opposite value forrule_valid
.This method takes three main paths depending on whether the holdings
self
andother
assert that rules are decided or undecided.A
decided
Rule
can never contradict a previous statement that anyRule
was undecided.If rule A implies rule B, then a holding that B is undecided contradicts a prior
Rule
deciding 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
, anddespite
Factor
s 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
Holding
class, such asFact
andRule
.- Return type
Count generic
Factor
s needed as context for thisHolding
.- Returns
the number of generic
Factor
s needed for self’sProcedure
.
Yield
Holding
s 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
self
with an opposite value forrule_valid
.
Create new
Holding
, replacing keys ofchanges
with values.- Return type
- Returns
a version of
self
with the new context.
Yield all
Holding
s 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)