Decisions¶
A court decision to resolve a step in litigation.
Uses the model of a judicial decision from the Caselaw Access Project API. One of these records may contain multiple
Opinion
s.Typically one record will contain all the
Opinion
s from one appeal, but not necessarily from the whole lawsuit. One lawsuit may contain multiple appeals or other petitions, and if more then one of those generates published Opinions, the CAP API will divide those Opinions into a separate record for each appeal.The outcome of a decision may be determined by one majority
Opinion
or by the combined effect of multiple Opinions. The lead opinion is commonly, but not always, the only Opinion that creates binding legal authority. Usually everyRule
posited by the lead Opinion is binding, but some may not be, often because parts of the Opinion fail to command a majority of the panel of judges.- Parameters
name (
Optional
[str
]) – full name of the opinion, e.g. “ORACLE AMERICA, INC., Plaintiff-Appellant, v. GOOGLE INC., Defendant-Cross-Appellant”name_abbreviation (
Optional
[str
]) – shorter name of the opinion, e.g. “Oracle America, Inc. v. Google Inc.”citations (
Optional
[Sequence
[CAPCitation
]]) – citations to the opinion, usually in the format[Volume Number] [Reporter Name Abbreviation] [Page Number]
first_page (
Optional
[int
]) – the page where the opinion begins in its official reporterlast_page (
Optional
[int
]) – the page where the opinion ends in its official reporterdecision_date – date when the opinion was first published by the court (not the publication date of the reporter volume)
court (
Optional
[str
]) – name of the court that published the opinion_id – unique ID from CAP API
Initialize self. See help(type(self)) for accurate signature.
Return str(self).
Test whether
self
implies the absence ofother
.- Returns
True
if self and other can’t both be true at the same time. Otherwise returnsFalse
.
Get one explanation of why self and other contradict.
Using the
explanations_contradiction()
method, generates oneExplanation
of how an analogy between the generic terms of the two objects can make them contradictory.In this example using two
FactorGroup
s, if the threeStatement
s inbrexit
were asserted about the threeEntity
terms innafta
, there would be an inconsistency as to whether one pair of Entities signed a treaty with each other.>>> from nettlesome import Statement, Entity, FactorGroup >>> nafta = FactorGroup([ ... Statement("$country1 signed a treaty with $country2", ... terms=[Entity("Mexico"), Entity("USA")]), ... Statement("$country2 signed a treaty with $country3", ... terms=[Entity("USA"), Entity("Canada")]), ... Statement("$country3 signed a treaty with $country1", ... terms=[Entity("USA"), Entity("Canada")])]) >>> brexit = FactorGroup([ ... Statement("$country1 signed a treaty with $country2", ... terms=[Entity("UK"), Entity("European Union")]), ... Statement("$country2 signed a treaty with $country3", ... terms=[Entity("European Union"), Entity("Germany")]), ... Statement("$country3 signed a treaty with $country1", ... terms=[Entity("Germany"), Entity("UK")], truth=False)]) >>> print(nafta.explain_contradiction(brexit)) Because <Mexico> is like <Germany>, and <USA> is like <UK>, the statement that <Mexico> signed a treaty with <USA> CONTRADICTS the statement it was false that <Germany> signed a treaty with <UK>
- Return type
Test whether
self
implies()
the absence ofother
.This should only be called after confirming that
other
is notNone
.- Return type
- Returns
True
if self and other can’t both be true at the same time. Otherwise returnsFalse
.
Get one explanation of why self implies other.
- Return type
Generate
ContextRegister
s that cause self to imply other.If self is absent, then generate a ContextRegister from other’s point of view and then swap the keys and values.
- Return type
Add one or more Holdings to the majority Opinion of this Decision.
- Return type
Test whether
self
impliesother
andself
!=other
.- Return type
Generate explanations for how other may imply self.
- Return type
Find whether other implies self.
- Parameters
other (
Optional
[Comparable
]) – a second Comparable to compare with selfcontext (
Optional
[ContextRegister
]) – correspondences betweenTerm
s in self and other
- Return type
- Returns
whether other implies self.
Test whether
self
impliesother
.When inherited by
FactorGroup
, this method will check whether everyStatement
inother
is implied by some Statement inself
.>>> from nettlesome import Entity, Comparison, Statement, FactorGroup >>> over_100y = Comparison("the distance between $site1 and $site2 was", sign=">", expression="100 yards") >>> under_1mi = Comparison("the distance between $site1 and $site2 was", sign="<", expression="1 mile") >>> protest_facts = FactorGroup( ... [Statement(over_100y, terms=[Entity("the political convention"), Entity("the police cordon")]), ... Statement(under_1mi, terms=[Entity("the police cordon"), Entity("the political convention")])]) >>> over_50m = Comparison("the distance between $site1 and $site2 was", sign=">", expression="50 meters") >>> under_2km = Comparison("the distance between $site1 and $site2 was", sign="<=", expression="2 km") >>> speech_zone_facts = FactorGroup( ... [Statement(over_50m, terms=[Entity("the free speech zone"), Entity("the courthouse")]), ... Statement(under_2km, terms=[Entity("the free speech zone"), Entity("the courthouse")])]) >>> protest_facts.implies(speech_zone_facts) True
- Return type