Rules¶

A statement of a legal doctrine about a
Procedurefor litigation.May decide some aspect of current litigation, and also potentially may be cided and reused by future courts. When
Rules appear as judicial holdings they are often hypothetical and don’t necessarily imply that the court accepts theFactassertions or otherFactors that make up the inputs or outputs of theProcedurementioned in theRule.- Parameters
procedure – a
Procedurecontaining the inputs, and despiteFactors and resulting outputs when this rule is triggered.enactments – the
Enactments cited as authority for invoking theprocedure.enactments_despite – the
Enactments specifically cited as failing to preclude application of theprocedure.mandatory – whether the
procedureis mandatory for the court to apply whenever theRuleis properly invoked.Falsemeans that theprocedureis “discretionary”.universal –
Trueif theprocedureis applicable whenever its inputs are present.Falsemeans that theprocedureis applicable in “some” situation where the inputs are present.generic – whether the
Ruleis being mentioned in a generic context. e.g., if theRuleis being mentioned in anArgumentobject merely as an example of the kind ofRulethat might be mentioned in such anArgument.name – an identifier used to retrieve this
Rulewhen needed for the composition of anotherFactorobject.
Convert EnactmentPassage to EnactmentGroup.
- Return type
For Enactments with no text selection, select all text.
- Return type
Get despite Factors as a FactorGroup.
Get input Factors as a FactorGroup.
Get output Factors as a FactorGroup.
Create new
Ruleifselfcan satisfy theinputsofother.If both
selfandotherhave False foruniversal, then returnsNone. Otherwise:If the union of the
inputsandoutputsofselfwould triggerother, then return a new version ofselfwith the outputFactors ofotheras well as the outputs ofself.The new
universalandmandatoryvalues are the lesser of the old values for each.Does not test whether
selfcould be triggered by the outputs of other. Useother + selffor that.
Make contrapositive forms of this
Rule.Used when converting from JSON input containing the entry
"exclusive": True, which means the specifiedinputs`are the only way to reach the specified output. When that happens, it can be inferred that in the absence of any of the inputs, the output must also be absent. (Multipleoutputsare not allowed when theexclusiveflag isTrue.) So, this generator will yield one newRulefor each input.
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
Add Enactment and sort self’s Enactments.
Add “despite” Enactment and sort self’s “despite” Enactments.
Create new Rule with added Enactment.
Create new Rule with added “despite” Enactment.
Add a
Factorto self.inputs.
Make new version of
selfwith an added inputFactor.
Check if other can be compared to self for implication or contradiction.
- Return type
Test if
selfcontradictsother.
Find context matches that would result in a contradiction with other.
- Return type
Test whether
self'sEnactmentsupport is a subset ofother's.A
Rulemakes a more powerful statement if it relies on fewerEnactments (or applies despite moreEnactments).So this method must return
Trueforselfto implyother.- Return type
Find context matches that would result in self implying other.
- Return type
Test if
selfimpliesotherif posited in valid and decidedHoldings.If
selfrelies for support on someEnactmenttext thatotherdoesn’t, thenselfdoesn’t implyother.Also, if
otherspecifies that it applies notwithstanding someEnactmentnot mentioned byself, thenselfdoesn’t implyother.This will be called as part of the
Holding.__ge__()implication function.
Count generic
Factors needed as context for thisRule.- Returns
the number of generic
Factors needed for self’sProcedure.
Test if
selfhasEnactments with same meanings asother's.
Find context matches that would result in self and other meaning the same.
- Return type
Test whether
otherhas the same meaning asself.
Create new
Ruleshowing combined effect of all inputs ofselfandother.This operation is destructive in the sense that the new
Rulemay not contain all the information that was available inselfandother.This seems to work differently when one Rule implies the other. That could mean there is a union to return even when both Rules are SOME rules. Or it could mean an ALL rule should be returned even though
impliedis SOME, because implied contributes no information that wasn’t already ingreater.
Set factors required to invoke this Procedure.
- Return type
Set factors that do not preclude application of this Rule.
- Return type
Set the outputs of this Rule.
- Return type
Set the list of Enactments cited as the basis for this Rule.
Any prior enactments are replaced.
- Return type
Set the list of Enactments known not to preclude application of this Rule.
Any prior despite enactments are replaced.
- Return type
Return str(self).
list of weak references to the object (if defined)