Skip to main content

Module stit

Module stit 

Source
Expand description

STIT agency — “α Sees To It That φ” (Phase 3, DEONTIC_LOGIC_PLAN §5).

Standard deontic logic makes states of affairs obligatory (O(φ)). Legal instruments make specific agents obligated to act (“the State shall ensure…”). STIT binds the deontic force to the agent who is the causal force, which lets the engine:

  • distinguish a duty-bearer from a bystander (is_duty_bearer);
  • detect omission — an in-force obligation the bearer did not bring about (agentive_statusViolated); and
  • model joint action / shared liabilityO[{α,β} stit φ] discharged iff any member brings φ about, else all members share liability (joint_discharged, joint_liable_members).

A STIT-bound norm reuses the deontic norm Quin: subject is the agent α (the causal force), object is the brought-about content φ. The causal fact convention is (α, q42:broughtAbout, φ). This module is a post-hoc accountability reading over a deontic norm (evaluated when the duty is due/closed), complementing the live-status deontic::norm_lifecycle_status. Zero-heap throughout.

Functions§

agentive_status
Post-hoc accountability status of an agentive norm O[α stit φ] / F[α stit φ], evaluated when the duty is due/closed:
brought_about
Did agent see to it that content — i.e. is the causal fact (agent, q42:broughtAbout, content) present?
chellas_stit
Chellas STIT [α cstit φ]: α saw to it that φ — here, α brought φ about.
could_have_prevented
Counterfactual omission (“could have prevented X but did not”): the agent had the ability and the opportunity to bring about the prevention, yet did not act. The counterfactual that turns a bare omission into a culpable one.
deliberative_stit
Deliberative STIT [α dstit φ]: α brought φ about AND φ was not settled (α could have done otherwise) — the genuine-choice reading that grounds moral responsibility.
is_duty_bearer
True iff agent is the bearer (causal subject) of the agentive norm — a duty-bearer rather than a bystander. (Accountability: the obligation attaches to the actor, not to everyone who could have acted.)
is_settled
Is φ settled — true on all histories (the agent had no real choice)? could_do_otherwise is whether an alternative history avoided φ.
joint_discharged
Joint obligation O[{members} stit φ]: discharged iff any member saw to it that φ (joint sufficiency). Zero-heap.
joint_liable_members
Shared liability: if the joint obligation is NOT discharged, every member shares liability — write them into out and return the count. Returns 0 when discharged (no one is liable). Zero-heap (caller-supplied out).