Procedures

digraph inheritanceca79a2299f { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "BaseModel" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Usage docs: https://docs.pydantic.dev/2.10/concepts/models/"]; "Comparable" [URL="https://nettlesome.readthedocs.io/en/latest/api/comparable.html#nettlesome.terms.Comparable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Objects that can be compared for implication, same meaning, contradiction, and consistency."]; "ABC" -> "Comparable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Procedure" [URL="#authorityspoke.procedures.Procedure",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A (potential) rule for courts to use in resolving litigation."]; "Comparable" -> "Procedure" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BaseModel" -> "Procedure" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
class authorityspoke.procedures.Procedure(**data)

A (potential) rule for courts to use in resolving litigation.

Described in terms of inputs and outputs, and also potentially “despite” Factors, which occur when a Rule could be said to apply “even if” some “despite” factor is true.

Users generally should not need to interact with this class directly, under the current design. Instead, they should interact with the class Rule.

Parameters:
  • outputs – an outcome that a court may accept based on the presence of the inputs

  • inputs – supporting Factors in favor of the output. The input Factors are not treated as potential undercutters.

  • despiteFactors that do not prevent the court from imposing the output. These could be considered “failed undercutters” in defeasible logic. If a Factor is relevant both as support for the output and as a potential undercutter, include it in both inputs and despite.

  • name – An identifier that can be used to reference and incorporate an existing procedure in a new Factor, instead of constructing a new copy of the Procedure.

  • absent – Whether the absence, rather than presence, of this Procedure is being referenced. The usefulness of this is unclear, but I’m not prepared to eliminate it before the Argument class has been implemented and tested.

  • generic – Whether the this Procedure is being referenced as a generic example, which could be replaced by any other Procedure.

property outputs_group: FactorGroup

Get input Factors as a FactorGroup.

property inputs_group: FactorGroup

Get input Factors as a FactorGroup.

property despite_group: FactorGroup

Get despite Factors as a FactorGroup.

property groups: List[FactorGroup]

Get input, output, and despite Factors as FactorGroups.

add(other, context=None)

Show how first Procedure triggers the second if not both are universal.

Return type:

Optional[Procedure]

__add__(other)

Show how first Procedure triggers the second if not both are universal.

Return type:

Optional[Procedure]

_add_if_universal(other, explanation)

Show how first Procedure triggers the second if both are universal.

Return type:

Optional[Procedure]

_trigger_addition(other, explanation)

Add two Procedures, given that they have already been found to be addable.

Return type:

Procedure

_explanations_union_partial(other, context=None)

Yield as much of the context as seems likely correct based on this Procedure.

Return type:

Iterable[ContextRegister]

explanations_union(other, context=None)

Yield explanations of contexts that allow combining these Procedures.

Return type:

Iterator[ContextRegister]

_union_from_explanation(other, context)

Combine two Procedures into one.

The new Procedure will have all of the inputs, outputs, and despite Factors of both self and other.

All of the context Factors of self will remain the same.

Return type:

Optional[Procedure]

__len__()

Get number of generic Factors specified for self.

Returns:

the number of generic Factors that need to be specified for this Procedure.

__str__()

Return str(self).

property factors_all: List[Factor]

Get Factors in inputs, outputs, and despite.

Returns:

a list of all Factors.

property recursive_terms: Dict[str, Term]

Collect self’s terms, and their terms, recursively.

Returns:

a dict (instead of a set, to preserve order) of Terms.

property terms: TermSequence

Get Factors used in comparisons with other Factors.

Returns:

a tuple of attributes that are designated as the terms for whichever subclass of Factor calls this method. These can be used for comparing objects using consistent_with()

generic_terms_by_str()

Factors that can be replaced without changing selfs meaning.

self.generic can’t be True for Procedure.

Return type:

Dict[str, Term]

Returns:

self’s generic Factors, which must be matched to other generic Factors to perform equality or implication tests between Factors with Factor.means() or Factor.__ge__().

add_factor(incoming)

Add an input Factor.

Parameters:

incoming (Factor) – the new Factor to be added to input

Return type:

None

Returns:

None

with_factor(incoming)

Create new Procedure with added input Factor.

Parameters:

incoming (Factor) – the new Factor to be added to input

Return type:

Optional[Procedure]

Returns:

a new version of self with the specified change

contradicts(other, context=None)

Find if self applying in some cases implies other cannot apply in some.

Raises an error because, by analogy with Procedure.implies(), users might expect this method to return True only when Rule with universal=False and Procedure self would contradict another Rule with universal=False and Procedure other. But that would never happen.

Return type:

bool

contradicts_some_to_all(other, context=None)

Find if self applying in some cases implies other cannot apply in all.

Return type:

bool

Returns:

whether the assertion that self applies in some cases contradicts that other applies in all cases, where at least one of the Rules is mandatory.

_has_input_or_despite_factors_implied_by_all_inputs_of(other, context)

Check if every input of other implies some input or despite factor of self.

Return type:

Iterator[Explanation]

_has_input_or_despite_factors_implying_all_inputs_of(other, context)

Check if every input of other is implied by some input or despite factor of self.

Return type:

Iterator[Explanation]

explain_contradiction_some_to_all(other, context=None)

Explain why other can’t apply in all cases if self applies in some.

Return type:

Iterator[Explanation]

explain_implication_all_to_all(other, context=None)

Yield contexts establishing that if self is always valid, other is always valid.

Return type:

Iterator[ContextRegister]

implies_all_to_all(other, context=None)

Find if self applying in all cases implies other applies in all.

self does not imply other if any output of other is not equal to or implied by some output of self.

For self to imply other, every input of self must be implied by some input of other.

self does not imply other if any despite of other contradicts() an input of self.

Return type:

bool

Returns:

whether the assertion that self applies in all cases implies that other applies in all cases.

explain_implication_all_to_some(other, context=None)

Yield contexts establishing that if self is always valid, other is sometimes valid.

Return type:

Iterator[Explanation]

implies_all_to_some(other, context=None)

Find if self applying in all cases implies other applies in some.

For self to imply other, every output of other must be equal to or implied by some output of self.

For self to imply other, every input of self must not be contradicted by any input or despite of other.

self does not imply other if any “despite” Factors of other are not implied by inputs of self.

Return type:

bool

Returns:

whether the assertion that self applies in all cases implies that other applies in some cases (that is, if the list of self’s inputs is not considered an exhaustive list of the circumstances needed to invoke the procedure).

_implies_if_present(other, context=None)

Find if self would imply other if they aren’t absent.

When self and other are included in Rules that both apply in some cases:

self does not imply other if any output of other is not equal to or implied by some output of self.

self does not imply other if any input of other is not equal to or implied by some input of self.

self does not imply other if any despite of other is not equal to or implied by some despite or input of self.

Return type:

Iterator[ContextRegister]

Returns:

whether the assertion that self applies in some cases implies that the Procedure other applies in some cases.

explanations_same_meaning(other, context=None)

Yield contexts that could cause self to have the same meaning as other.

Return type:

Iterator[Explanation]

means(other, context=None)

Determine whether other has the same meaning as self.

Return type:

bool

Returns:

whether the two Procedures have all the same Factors with the same context factors in the same roles.

new_context(changes)

Create new Procedure, replacing keys of changes with values.

Parameters:

changes (ContextRegister) – a dict of Factors to replace matched to the Factors that should replace them

Return type:

Procedure

Returns:

new Procedure object, replacing keys of changes with their values.

set_inputs(factors)

Set factors required to invoke this Procedure.

Return type:

None

set_despite(factors)

Set factors that do not preclude application of this Procedure.

Return type:

None

set_outputs(factors)

Set the outputs of this Procedure.

Return type:

None

triggers_next_procedure(other, context=None)

Test if Factors from firing self would trigger other.

Note

To be confident that self actually can trigger other, we would have to assume that self or other has universal: True since otherwise there could be a mismatch between what is provided and what is needed to trigger other.

Parameters:

other (Procedure) – another Procedure to test to see whether it can be triggered by triggering self

Return type:

Iterator[Explanation]

Returns:

whether the set of Factors that exist after self is fired could trigger other

__or__(other)

Return self|value.

Return type:

Optional[Comparable]

union(other, context=None)

Get a procedure with all the inputs and outputs of self and other.

Return type:

Optional[Comparable]

valid_for_exclusive_tag()

Check if Procedure is suitable to be labeled the “exclusive” method to reach an output.

Return type:

None

__class_vars__: ClassVar[set[str]] = {'absent', 'context_factor_names', 'generic'}

The names of the class variables defined on the model.

__private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}

Metadata about the private attributes of the model.

__pydantic_complete__: ClassVar[bool] = True

Whether model building is completed, or if there are still undefined fields.

__pydantic_computed_fields__: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'nettlesome.predicates.Predicate'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Predicate'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.predicates.Predicate'>>]}, 'ref': 'nettlesome.predicates.Predicate:96271533766672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'truth': {'metadata': {}, 'schema': {'default': True, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Predicate', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.Comparison'>, 'config': {'title': 'Comparison'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.Comparison'>>]}, 'ref': 'nettlesome.quantities.Comparison:96271546375360', 'root_model': False, 'schema': {'function': {'function': <bound method Comparison.set_quantity_range of <class 'nettlesome.quantities.Comparison'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'function': {'function': <bound method Comparison.content_ends_with_was of <class 'nettlesome.quantities.Comparison'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'quantity_range': {'metadata': {}, 'schema': {'choices': [{'schema_ref': 'nettlesome.quantities.DecimalRange:96271546368928', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.UnitRange:96271546289072', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.DateRange:96271534566352', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'model-field'}, 'truth': {'metadata': {}, 'schema': {'default': True, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Comparison', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'nettlesome.entities.Entity'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Entity'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.entities.Entity'>>]}, 'ref': 'nettlesome.entities.Entity:96271533697616', 'root_model': False, 'schema': {'function': {'function': <bound method Entity.validate_type of <class 'nettlesome.entities.Entity'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'plural': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Entity', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.DecimalRange'>, 'config': {'title': 'DecimalRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.DecimalRange'>>]}, 'ref': 'nettlesome.quantities.DecimalRange:96271546368928', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity': {'metadata': {}, 'schema': {'type': 'decimal'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.DecimalRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'DecimalRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.UnitRange'>, 'config': {'title': 'UnitRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.UnitRange'>>]}, 'ref': 'nettlesome.quantities.UnitRange:96271546289072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity_magnitude': {'metadata': {}, 'schema': {'type': 'decimal'}, 'type': 'model-field'}, 'quantity_units': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.UnitRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'UnitRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.DateRange'>, 'config': {'title': 'DateRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.DateRange'>>]}, 'ref': 'nettlesome.quantities.DateRange:96271534566352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity': {'metadata': {}, 'schema': {'type': 'date'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.DateRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'DateRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Pleading'>, 'config': {'title': 'Pleading'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Pleading'>>]}, 'ref': 'authorityspoke.facts.Pleading:96271546737760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'filer': {'metadata': {}, 'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Pleading', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Exhibit'>, 'config': {'title': 'Exhibit'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Exhibit'>>]}, 'ref': 'authorityspoke.facts.Exhibit:96271546734272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'form': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'offered_by': {'metadata': {}, 'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'statement': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'statement_attribution': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Exhibit', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Evidence'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Evidence'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Evidence'>>]}, 'ref': 'authorityspoke.facts.Evidence:96271546736768', 'root_model': False, 'schema': {'function': {'function': <bound method Evidence.check_type_field of <class 'authorityspoke.facts.Evidence'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'exhibit': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'to_effect': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Evidence', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Fact'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Fact'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Fact'>>]}, 'ref': 'authorityspoke.facts.Fact:96271546644960', 'root_model': False, 'schema': {'function': {'function': <bound method Fact.nest_predicate_fields of <class 'authorityspoke.facts.Fact'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'predicate': {'metadata': {}, 'schema': {'choices': [{'schema_ref': 'nettlesome.predicates.Predicate:96271533766672', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.Comparison:96271546375360', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'model-field'}, 'standard_of_proof': {'metadata': {}, 'schema': {'default': None, 'schema': {'function': {'function': <bound method Fact.validate_standard_of_proof of <class 'authorityspoke.facts.Fact'>>, 'type': 'no-info'}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'terms': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'field_name': 'terms', 'function': <bound method Fact._validate_terms of <class 'authorityspoke.facts.Fact'>>, 'type': 'with-info'}, 'schema': {'function': {'field_name': 'terms', 'function': <bound method Fact.terms_as_sequence of <class 'authorityspoke.facts.Fact'>>, 'type': 'with-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Fact', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Allegation'>, 'config': {'title': 'Allegation'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Allegation'>>]}, 'ref': 'authorityspoke.facts.Allegation:96271546728512', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'fact': {'metadata': {}, 'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'pleading': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Allegation', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'authorityspoke.procedures.Procedure'>, 'config': {'title': 'Procedure'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.procedures.Procedure'>>]}, 'ref': 'authorityspoke.procedures.Procedure:96271547885440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'despite': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method Procedure._validate_factor_groups of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'inputs': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method Procedure._validate_factor_groups of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'outputs': {'metadata': {}, 'schema': {'function': {'function': <bound method Procedure._validate_outputs of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'model-field'}}, 'model_name': 'Procedure', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}

The core schema of the model.

__pydantic_custom_init__: ClassVar[bool] = False

Whether the model has a custom __init__ method.

__pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={'_validate_outputs': Decorator(cls_ref='authorityspoke.procedures.Procedure:96271547885440', cls_var_name='_validate_outputs', func=<bound method Procedure._validate_outputs of <class 'authorityspoke.procedures.Procedure'>>, shim=None, info=FieldValidatorDecoratorInfo(fields=('outputs',), mode='before', check_fields=None, json_schema_input_type=PydanticUndefined)), '_validate_factor_groups': Decorator(cls_ref='authorityspoke.procedures.Procedure:96271547885440', cls_var_name='_validate_factor_groups', func=<bound method Procedure._validate_factor_groups of <class 'authorityspoke.procedures.Procedure'>>, shim=None, info=FieldValidatorDecoratorInfo(fields=('inputs', 'despite'), mode='before', check_fields=None, json_schema_input_type=PydanticUndefined))}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_fields__: ClassVar[Dict[str, FieldInfo]] = {'despite': FieldInfo(annotation=List[Union[Fact, Allegation, Pleading, Exhibit, Evidence]], required=False, default=[]), 'inputs': FieldInfo(annotation=List[Union[Fact, Allegation, Pleading, Exhibit, Evidence]], required=False, default=[]), 'name': FieldInfo(annotation=str, required=False, default=''), 'outputs': FieldInfo(annotation=List[Union[Fact, Allegation, Pleading, Exhibit, Evidence]], required=True)}

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. This replaces Model.__fields__ from Pydantic V1.

__pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}

Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

__pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None

The name of the post-init method for the model, if defined.

__pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model(     ModelSerializer {         class: Py(             0x0000578ef769e780,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "despite": SerField {                         key_py: Py(                             0x00007ea2c3240ba0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007ea2c2d14200,                                         ),                                     ),                                     serializer: List(                                         ListSerializer {                                             item_serializer: Union(                                                 UnionSerializer {                                                     choices: [                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                     ],                                                     name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]",                                                 },                                             ),                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "inputs": SerField {                         key_py: Py(                             0x00007ea2d5f58c60,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007ea2c2d141c0,                                         ),                                     ),                                     serializer: List(                                         ListSerializer {                                             item_serializer: Union(                                                 UnionSerializer {                                                     choices: [                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                         Recursive(                                                             DefinitionRefSerializer {                                                                 definition: "...",                                                                 retry_with_lax_check: true,                                                             },                                                         ),                                                     ],                                                     name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]",                                                 },                                             ),                                             filter: SchemaFilter {                                                 include: None,                                                 exclude: None,                                             },                                             name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]",                                         },                                     ),                                 },                             ),                         ),                         required: true,                     },                     "outputs": SerField {                         key_py: Py(                             0x00007ea2c2e9bea0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             List(                                 ListSerializer {                                     item_serializer: Union(                                         UnionSerializer {                                             choices: [                                                 Recursive(                                                     DefinitionRefSerializer {                                                         definition: "...",                                                         retry_with_lax_check: true,                                                     },                                                 ),                                                 Recursive(                                                     DefinitionRefSerializer {                                                         definition: "...",                                                         retry_with_lax_check: true,                                                     },                                                 ),                                                 Recursive(                                                     DefinitionRefSerializer {                                                         definition: "...",                                                         retry_with_lax_check: true,                                                     },                                                 ),                                                 Recursive(                                                     DefinitionRefSerializer {                                                         definition: "...",                                                         retry_with_lax_check: true,                                                     },                                                 ),                                                 Recursive(                                                     DefinitionRefSerializer {                                                         definition: "...",                                                         retry_with_lax_check: true,                                                     },                                                 ),                                             ],                                             name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]",                                         },                                     ),                                     filter: SchemaFilter {                                         include: None,                                         exclude: None,                                     },                                     name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]",                                 },                             ),                         ),                         required: true,                     },                     "name": SerField {                         key_py: Py(                             0x00007ea2e081aa68,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007ea2e0814230,                                         ),                                     ),                                     serializer: Str(                                         StrSerializer,                                     ),                                 },                             ),                         ),                         required: true,                     },                 },                 computed_fields: Some(                     ComputedFields(                         [],                     ),                 ),                 mode: SimpleDict,                 extra_serializer: None,                 filter: SchemaFilter {                     include: None,                     exclude: None,                 },                 required_fields: 4,             },         ),         has_extra: false,         root_model: false,         name: "Procedure",     }, ), definitions=[Model(ModelSerializer { class: Py(0x578ef752c3a0), serializer: Fields(GeneralFieldsSerializer { fields: {"include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Decimal(DecimalSerializer)), required: true }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "DecimalRange" }), Model(ModelSerializer { class: Py(0x578ef7586080), serializer: Fields(GeneralFieldsSerializer { fields: {"to_effect": SerField { key_py: Py(0x7ea2c2d51630), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "exhibit": SerField { key_py: Py(0x7ea2c2e9a0d0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "Evidence" }), Model(ModelSerializer { class: Py(0x578ef7586460), serializer: Fields(GeneralFieldsSerializer { fields: {"name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "filer": SerField { key_py: Py(0x7ea2c2e9bdb0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Pleading" }), Model(ModelSerializer { class: Py(0x578ef752dcc0), serializer: Fields(GeneralFieldsSerializer { fields: {"content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "truth": SerField { key_py: Py(0x7ea2dfc2da40), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity_range": SerField { key_py: Py(0x7ea2d4622af0), alias: None, alias_py: None, serializer: Some(Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref, definition-ref]" })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Comparison" }), Model(ModelSerializer { class: Py(0x578ef756f9e0), serializer: Fields(GeneralFieldsSerializer { fields: {"terms": SerField { key_py: Py(0x7ea2de7547b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2c2d37e00)), serializer: List(ListSerializer { item_serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]" }), filter: SchemaFilter { include: None, exclude: None }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]" }) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "predicate": SerField { key_py: Py(0x7ea2dfb1b3b0), alias: None, alias_py: None, serializer: Some(Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref]" })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "standard_of_proof": SerField { key_py: Py(0x7ea2c2d25df0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 6 }), has_extra: false, root_model: false, name: "Fact" }), Model(ModelSerializer { class: Py(0x578ef7518bb0), serializer: Fields(GeneralFieldsSerializer { fields: {"sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }, "include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity_magnitude": SerField { key_py: Py(0x7ea2d46237b0), alias: None, alias_py: None, serializer: Some(Decimal(DecimalSerializer)), required: true }, "quantity_units": SerField { key_py: Py(0x7ea2d4623770), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "UnitRange" }), Model(ModelSerializer { class: Py(0x578ef69eabd0), serializer: Fields(GeneralFieldsSerializer { fields: {"include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Date(DateSerializer)), required: true }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "DateRange" }), Model(ModelSerializer { class: Py(0x578ef7584040), serializer: Fields(GeneralFieldsSerializer { fields: {"pleading": SerField { key_py: Py(0x7ea2c2d51970), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "fact": SerField { key_py: Py(0x7ea2d44c0600), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "Allegation" }), Model(ModelSerializer { class: Py(0x578ef75856c0), serializer: Fields(GeneralFieldsSerializer { fields: {"offered_by": SerField { key_py: Py(0x7ea2c2d34db0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "statement": SerField { key_py: Py(0x7ea2e081c3f8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "statement_attribution": SerField { key_py: Py(0x7ea2c2d510b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "form": SerField { key_py: Py(0x7ea2de307960), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 7 }), has_extra: false, root_model: false, name: "Exhibit" }), Model(ModelSerializer { class: Py(0x578ef6927810), serializer: Fields(GeneralFieldsSerializer { fields: {"truth": SerField { key_py: Py(0x7ea2dfc2da40), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "Predicate" }), Model(ModelSerializer { class: Py(0x578ef6916a50), serializer: Fields(GeneralFieldsSerializer { fields: {"plural": SerField { key_py: Py(0x7ea2dfcc6460), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Bool(BoolSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Entity" })])

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="Procedure", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "outputs",                         lookup_key: Simple {                             key: "outputs",                             py_key: Py(                                 0x00007ea2c2ef50e0,                             ),                             path: LookupPath(                                 [                                     S(                                         "outputs",                                         Py(                                             0x00007ea2c2ef5110,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007ea2c2e9bea0,                         ),                         validator: FunctionBefore(                             FunctionBeforeValidator {                                 validator: List(                                     ListValidator {                                         strict: false,                                         item_validator: Some(                                             Union(                                                 UnionValidator {                                                     mode: Smart,                                                     choices: [                                                         (                                                             DefinitionRef(                                                                 DefinitionRefValidator {                                                                     definition: "Fact",                                                                 },                                                             ),                                                             None,                                                         ),                                                         (                                                             DefinitionRef(                                                                 DefinitionRefValidator {                                                                     definition: "Allegation",                                                                 },                                                             ),                                                             None,                                                         ),                                                         (                                                             DefinitionRef(                                                                 DefinitionRefValidator {                                                                     definition: "Pleading",                                                                 },                                                             ),                                                             None,                                                         ),                                                         (                                                             DefinitionRef(                                                                 DefinitionRefValidator {                                                                     definition: "Exhibit",                                                                 },                                                             ),                                                             None,                                                         ),                                                         (                                                             DefinitionRef(                                                                 DefinitionRefValidator {                                                                     definition: "Evidence",                                                                 },                                                             ),                                                             None,                                                         ),                                                     ],                                                     custom_error: None,                                                     strict: false,                                                     name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]",                                                 },                                             ),                                         ),                                         min_length: None,                                         max_length: None,                                         name: OnceLock(                                             "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]",                                         ),                                         fail_fast: false,                                     },                                 ),                                 func: Py(                                     0x00007ea2c3649540,                                 ),                                 config: Py(                                     0x00007ea2c2ee16c0,                                 ),                                 name: "function-before[_validate_outputs(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]",                                 field_name: None,                                 info_arg: false,                             },                         ),                         frozen: false,                     },                     Field {                         name: "inputs",                         lookup_key: Simple {                             key: "inputs",                             py_key: Py(                                 0x00007ea2c2ef5140,                             ),                             path: LookupPath(                                 [                                     S(                                         "inputs",                                         Py(                                             0x00007ea2c2ef5170,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007ea2d5f58c60,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007ea2c2d141c0,                                     ),                                 ),                                 on_error: Raise,                                 validator: FunctionBefore(                                     FunctionBeforeValidator {                                         validator: List(                                             ListValidator {                                                 strict: false,                                                 item_validator: Some(                                                     Union(                                                         UnionValidator {                                                             mode: Smart,                                                             choices: [                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Fact",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Allegation",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Pleading",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Exhibit",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Evidence",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                             ],                                                             custom_error: None,                                                             strict: false,                                                             name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]",                                                         },                                                     ),                                                 ),                                                 min_length: None,                                                 max_length: None,                                                 name: OnceLock(                                                     "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]",                                                 ),                                                 fail_fast: false,                                             },                                         ),                                         func: Py(                                             0x00007ea2c38396c0,                                         ),                                         config: Py(                                             0x00007ea2c2ee16c0,                                         ),                                         name: "function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]",                                         field_name: None,                                         info_arg: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: true,                                 name: "default[function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]]",                                 undefined: Py(                                     0x00007ea2d5547da0,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "despite",                         lookup_key: Simple {                             key: "despite",                             py_key: Py(                                 0x00007ea2c2ef51a0,                             ),                             path: LookupPath(                                 [                                     S(                                         "despite",                                         Py(                                             0x00007ea2c2ef51d0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007ea2c3240ba0,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007ea2c2d14200,                                     ),                                 ),                                 on_error: Raise,                                 validator: FunctionBefore(                                     FunctionBeforeValidator {                                         validator: List(                                             ListValidator {                                                 strict: false,                                                 item_validator: Some(                                                     Union(                                                         UnionValidator {                                                             mode: Smart,                                                             choices: [                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Fact",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Allegation",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Pleading",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Exhibit",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                                 (                                                                     DefinitionRef(                                                                         DefinitionRefValidator {                                                                             definition: "Evidence",                                                                         },                                                                     ),                                                                     None,                                                                 ),                                                             ],                                                             custom_error: None,                                                             strict: false,                                                             name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]",                                                         },                                                     ),                                                 ),                                                 min_length: None,                                                 max_length: None,                                                 name: OnceLock(                                                     "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]",                                                 ),                                                 fail_fast: false,                                             },                                         ),                                         func: Py(                                             0x00007ea2c38396c0,                                         ),                                         config: Py(                                             0x00007ea2c2ee16c0,                                         ),                                         name: "function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]",                                         field_name: None,                                         info_arg: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: true,                                 name: "default[function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]]",                                 undefined: Py(                                     0x00007ea2d5547da0,                                 ),                             },                         ),                         frozen: false,                     },                     Field {                         name: "name",                         lookup_key: Simple {                             key: "name",                             py_key: Py(                                 0x00007ea2c2ef5200,                             ),                             path: LookupPath(                                 [                                     S(                                         "name",                                         Py(                                             0x00007ea2c2ef5230,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007ea2e081aa68,                         ),                         validator: WithDefault(                             WithDefaultValidator {                                 default: Default(                                     Py(                                         0x00007ea2e0814230,                                     ),                                 ),                                 on_error: Raise,                                 validator: Str(                                     StrValidator {                                         strict: false,                                         coerce_numbers_to_str: false,                                     },                                 ),                                 validate_default: false,                                 copy_default: false,                                 name: "default[str]",                                 undefined: Py(                                     0x00007ea2d5547da0,                                 ),                             },                         ),                         frozen: false,                     },                 ],                 model_name: "Procedure",                 extra_behavior: Ignore,                 extras_validator: None,                 strict: false,                 from_attributes: false,                 loc_by_alias: true,             },         ),         class: Py(             0x0000578ef769e780,         ),         generic_origin: None,         post_init: None,         frozen: false,         custom_init: false,         root_model: false,         undefined: Py(             0x00007ea2d5547da0,         ),         name: "Procedure",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2ef4900), path: LookupPath([S("sign", Py(0x7ea2c2ef4930))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d42cca00), config: Py(0x7ea2c2d25a00), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2d167f0), path: LookupPath([S("include_negatives", Py(0x7ea2c2d16830))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity", lookup_key: Simple { key: "quantity", py_key: Py(0x7ea2c2d16870), path: LookupPath([S("quantity", Py(0x7ea2c2d16730))]) }, name_py: Py(0x7ea2d4623630), validator: Date(DateValidator { strict: false, constraints: None }), frozen: false }], model_name: "DateRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef69eabd0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "DateRange" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ef4de0), path: LookupPath([S("generic", Py(0x7ea2c2ef4e10))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ef4e40), path: LookupPath([S("absent", Py(0x7ea2c2ef4e70))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "predicate", lookup_key: Simple { key: "predicate", py_key: Py(0x7ea2c2d16a30), path: LookupPath([S("predicate", Py(0x7ea2c2d16a70))]) }, name_py: Py(0x7ea2dfb1b3b0), validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "Predicate" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Comparison" }), None)], custom_error: None, strict: false, name: "union[Predicate,Comparison]" }), frozen: false }, Field { name: "terms", lookup_key: Simple { key: "terms", py_key: Py(0x7ea2c2ef4ea0), path: LookupPath([S("terms", Py(0x7ea2c2ef4ed0))]) }, name_py: Py(0x7ea2de7547b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2c2d37e00)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "Entity" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Fact" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Allegation" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Pleading" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Exhibit" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Evidence" }), None)], custom_error: None, strict: false, name: "union[Entity,...,...,Pleading,Exhibit,Evidence]" })), min_length: None, max_length: None, name: OnceLock("list[union[Entity,...,...,Pleading,Exhibit,Evidence]]"), fail_fast: false }), func: Py(0x7ea2c2d34a40), config: Py(0x7ea2c2d15440), name: "function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]", field_name: Some(Py(0x7ea2de7547b0)), info_arg: true }), func: Py(0x7ea2c2d34e40), config: Py(0x7ea2c2d15440), name: "function-after[_validate_terms(), function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]]", field_name: Some(Py(0x7ea2de7547b0)), info_arg: true }), validate_default: false, copy_default: true, name: "default[function-after[_validate_terms(), function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2ef4f00), path: LookupPath([S("name", Py(0x7ea2c2ef4f30))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "standard_of_proof", lookup_key: Simple { key: "standard_of_proof", py_key: Py(0x7ea2c2d16ab0), path: LookupPath([S("standard_of_proof", Py(0x7ea2c2d16af0))]) }, name_py: Py(0x7ea2c2d25df0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), func: Py(0x7ea2c2d34c80), config: Py(0x7ea2c2d15440), name: "function-after[validate_standard_of_proof(), nullable[str]]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[validate_standard_of_proof(), nullable[str]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Fact", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c390bcc0), config: Py(0x7ea2c2d15440), name: "function-before[nest_predicate_fields(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef756f9e0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Fact" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2ef4840), path: LookupPath([S("sign", Py(0x7ea2c2ef4870))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c35a8f40), config: Py(0x7ea2c2d24fc0), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2d15b70), path: LookupPath([S("include_negatives", Py(0x7ea2c2d15a70))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity", lookup_key: Simple { key: "quantity", py_key: Py(0x7ea2c2d15bb0), path: LookupPath([S("quantity", Py(0x7ea2c2d15bf0))]) }, name_py: Py(0x7ea2d4623630), validator: Decimal(DecimalValidator { strict: false, allow_inf_nan: false, check_digits: false, multiple_of: None, le: None, lt: None, ge: None, gt: None, max_digits: None, decimal_places: None }), frozen: false }], model_name: "DecimalRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef752c3a0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "DecimalRange" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2ef48a0), path: LookupPath([S("sign", Py(0x7ea2c2ef48d0))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c3a6ed40), config: Py(0x7ea2c2d25540), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2d15c30), path: LookupPath([S("include_negatives", Py(0x7ea2c2d15c70))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity_magnitude", lookup_key: Simple { key: "quantity_magnitude", py_key: Py(0x7ea2c2d15cb0), path: LookupPath([S("quantity_magnitude", Py(0x7ea2c2d16670))]) }, name_py: Py(0x7ea2d46237b0), validator: Decimal(DecimalValidator { strict: false, allow_inf_nan: false, check_digits: false, multiple_of: None, le: None, lt: None, ge: None, gt: None, max_digits: None, decimal_places: None }), frozen: false }, Field { name: "quantity_units", lookup_key: Simple { key: "quantity_units", py_key: Py(0x7ea2c2d166b0), path: LookupPath([S("quantity_units", Py(0x7ea2c2d166f0))]) }, name_py: Py(0x7ea2d4623770), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }], model_name: "UnitRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7518bb0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "UnitRange" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ef43f0), path: LookupPath([S("generic", Py(0x7ea2c2ef46f0))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ef4720), path: LookupPath([S("absent", Py(0x7ea2c2ef4750))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2ef4780), path: LookupPath([S("name", Py(0x7ea2c2ef47b0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "plural", lookup_key: Simple { key: "plural", py_key: Py(0x7ea2c2ef47e0), path: LookupPath([S("plural", Py(0x7ea2c2ef4810))]) }, name_py: Py(0x7ea2dfcc6460), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Entity", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2d469fc00), config: Py(0x7ea2c2d24b00), name: "function-before[validate_type(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef6916a50), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Entity" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2ef4390), path: LookupPath([S("content", Py(0x7ea2c2ef4510))]) }, name_py: Py(0x7ea2dfb24f00), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "truth", lookup_key: Simple { key: "truth", py_key: Py(0x7ea2c2ef44e0), path: LookupPath([S("truth", Py(0x7ea2c2ef4540))]) }, name_py: Py(0x7ea2dfc2da40), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Predicate", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef6927810), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Predicate" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ef4ae0), path: LookupPath([S("generic", Py(0x7ea2c2ef4b10))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ef4b40), path: LookupPath([S("absent", Py(0x7ea2c2ef4b70))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "offered_by", lookup_key: Simple { key: "offered_by", py_key: Py(0x7ea2c2d16770), path: LookupPath([S("offered_by", Py(0x7ea2c2d167b0))]) }, name_py: Py(0x7ea2c2d34db0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "form", lookup_key: Simple { key: "form", py_key: Py(0x7ea2c2ef4ba0), path: LookupPath([S("form", Py(0x7ea2c2ef4bd0))]) }, name_py: Py(0x7ea2de307960), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "statement", lookup_key: Simple { key: "statement", py_key: Py(0x7ea2c2d168b0), path: LookupPath([S("statement", Py(0x7ea2c2d168f0))]) }, name_py: Py(0x7ea2e081c3f8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), name: "nullable[...]" }), validate_default: false, copy_default: false, name: "default[nullable[...]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "statement_attribution", lookup_key: Simple { key: "statement_attribution", py_key: Py(0x7ea2c2d16930), path: LookupPath([S("statement_attribution", Py(0x7ea2c2d16970))]) }, name_py: Py(0x7ea2c2d510b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), name: "nullable[Entity]" }), validate_default: false, copy_default: false, name: "default[nullable[Entity]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2ef4c00), path: LookupPath([S("name", Py(0x7ea2c2ef4c30))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Exhibit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef75856c0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Exhibit" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ef4f60), path: LookupPath([S("generic", Py(0x7ea2c2ef4f90))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ef4fc0), path: LookupPath([S("absent", Py(0x7ea2c2ef4ff0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "fact", lookup_key: Simple { key: "fact", py_key: Py(0x7ea2c2ef5020), path: LookupPath([S("fact", Py(0x7ea2c2ef5050))]) }, name_py: Py(0x7ea2d44c0600), validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), frozen: false }, Field { name: "pleading", lookup_key: Simple { key: "pleading", py_key: Py(0x7ea2c2d16b30), path: LookupPath([S("pleading", Py(0x7ea2c2d16b70))]) }, name_py: Py(0x7ea2c2d51970), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Pleading" }), name: "nullable[Pleading]" }), validate_default: false, copy_default: false, name: "default[nullable[Pleading]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2ef5080), path: LookupPath([S("name", Py(0x7ea2c2ef50b0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Allegation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7584040), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Allegation" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ef4960), path: LookupPath([S("generic", Py(0x7ea2c2ef4990))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ef49c0), path: LookupPath([S("absent", Py(0x7ea2c2ef49f0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "filer", lookup_key: Simple { key: "filer", py_key: Py(0x7ea2c2ef4a20), path: LookupPath([S("filer", Py(0x7ea2c2ef4a50))]) }, name_py: Py(0x7ea2c2e9bdb0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2ef4a80), path: LookupPath([S("name", Py(0x7ea2c2ef4ab0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Pleading", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7586460), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Pleading" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2ef46c0), path: LookupPath([S("content", Py(0x7ea2c2ef4420))]) }, name_py: Py(0x7ea2dfb24f00), validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c3a1ce00), config: Py(0x7ea2c2d24200), name: "function-after[content_ends_with_was(), str]", field_name: None, info_arg: false }), frozen: false }, Field { name: "truth", lookup_key: Simple { key: "truth", py_key: Py(0x7ea2c2ef43c0), path: LookupPath([S("truth", Py(0x7ea2c2ef4600))]) }, name_py: Py(0x7ea2dfc2da40), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity_range", lookup_key: Simple { key: "quantity_range", py_key: Py(0x7ea2c2d15a30), path: LookupPath([S("quantity_range", Py(0x7ea2c2d159f0))]) }, name_py: Py(0x7ea2d4622af0), validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "..." }), None), (DefinitionRef(DefinitionRefValidator { definition: "..." }), None), (DefinitionRef(DefinitionRefValidator { definition: "..." }), None)], custom_error: None, strict: false, name: "union[...,...,...]" }), frozen: false }], model_name: "Comparison", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c3b8cf40), config: Py(0x7ea2c2d24200), name: "function-before[set_quantity_range(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef752dcc0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Comparison" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2ef4c60), path: LookupPath([S("generic", Py(0x7ea2c2ef4c90))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2ef4cc0), path: LookupPath([S("absent", Py(0x7ea2c2ef4cf0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "exhibit", lookup_key: Simple { key: "exhibit", py_key: Py(0x7ea2c2ef4d20), path: LookupPath([S("exhibit", Py(0x7ea2c2ef4d50))]) }, name_py: Py(0x7ea2c2e9a0d0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Exhibit" }), name: "nullable[Exhibit]" }), validate_default: false, copy_default: false, name: "default[nullable[Exhibit]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "to_effect", lookup_key: Simple { key: "to_effect", py_key: Py(0x7ea2c2d169b0), path: LookupPath([S("to_effect", Py(0x7ea2c2d169f0))]) }, name_py: Py(0x7ea2c2d51630), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), name: "nullable[...]" }), validate_default: false, copy_default: false, name: "default[nullable[...]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2ef4d80), path: LookupPath([S("name", Py(0x7ea2c2ef4db0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Evidence", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c2d37080), config: Py(0x7ea2c2d14840), name: "function-before[check_type_field(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef7586080), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Evidence" })], cache_strings=True)

The pydantic-core SchemaValidator used to validate instances of the model.

__signature__: ClassVar[Signature] = <Signature (*, outputs: List[Union[authorityspoke.facts.Fact, authorityspoke.facts.Allegation, authorityspoke.facts.Pleading, authorityspoke.facts.Exhibit, authorityspoke.facts.Evidence]], inputs: List[Union[authorityspoke.facts.Fact, authorityspoke.facts.Allegation, authorityspoke.facts.Pleading, authorityspoke.facts.Exhibit, authorityspoke.facts.Evidence]] = [], despite: List[Union[authorityspoke.facts.Fact, authorityspoke.facts.Allegation, authorityspoke.facts.Pleading, authorityspoke.facts.Exhibit, authorityspoke.facts.Evidence]] = [], name: str = '') -> None>

The synthesized __init__ [Signature][inspect.Signature] of the model.

__weakref__

list of weak references to the object

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].