Free Indirect Discourse (FID) as Mixed Perspective #
@cite{banfield-1982} @cite{schlenker-2004}
Free Indirect Discourse is a narrative mode where the narrator's voice and the character's perspective blend. The hallmark of FID is that different context coordinates come from different sources:
- Agent: narrator (origin) — the narrator is "telling"
- Time/World/Position: character (local) — evaluated from the character's temporal and spatial perspective
This module formalizes FID as an FIDProfile: a per-coordinate depth
specification over the context tower. Classic FID, direct speech, and
indirect speech are all instances of this type, differing only in which
coordinates read from origin vs local.
Key Definitions #
FIDProfile: Per-coordinate depth specificationclassicFID: Agent from origin, time/world/position from localdirectSpeech: All coordinates from local (full perspective shift)indirectSpeech: All coordinates from origin (no perspective shift)fid_is_mixed: FID is neither pure origin nor pure local access
Per-coordinate depth specification for mixed-perspective phenomena.
Each coordinate of the context (agent, time, world, position) gets
its own DepthSpec, allowing fine-grained control over which tower
layer each coordinate reads.
- agentDepth : Core.Context.DepthSpec
Which depth to read the agent from
- timeDepth : Core.Context.DepthSpec
Which depth to read the time from
- worldDepth : Core.Context.DepthSpec
Which depth to read the world from
- positionDepth : Core.Context.DepthSpec
Which depth to read the position from
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Reference.FreeIndirectDiscourse.instBEqFIDProfile.beq x✝¹ x✝ = false
Instances For
Resolve the agent coordinate from the tower according to this profile.
Equations
- p.resolveAgent t = (t.contextAt (p.agentDepth.resolve t.depth)).agent
Instances For
Resolve the time coordinate from the tower according to this profile.
Instances For
Resolve the world coordinate from the tower according to this profile.
Equations
- p.resolveWorld t = (t.contextAt (p.worldDepth.resolve t.depth)).world
Instances For
Resolve the position coordinate from the tower according to this profile.
Equations
- p.resolvePosition t = (t.contextAt (p.positionDepth.resolve t.depth)).position
Instances For
Resolve all coordinates into a full KContext.
Addressee tracks agentDepth — it reads from the same tower layer as the
agent. This reflects the linguistic convention that addressee and agent are
co-determined by the same speech-act context: if you shift who the speaker
is, you also shift who they're speaking to. No attested phenomenon requires
independent depth control for addressee.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A profile is uniform iff all coordinates read from the same depth.
Equations
- p.isUniform = (p.agentDepth == p.timeDepth && p.timeDepth == p.worldDepth && p.worldDepth == p.positionDepth)
Instances For
Classic FID: narrator's voice (agent from origin) combined with character's perspective (time, world, position from local).
"She was happy now. Tomorrow she would leave."
- "she" = narrator's third-person reference (agent from origin)
- "now", "tomorrow" = character's temporal perspective (time from local)
- The world is the character's belief/experience world
Equations
- One or more equations did not get rendered due to their size.
Instances For
Direct speech: all coordinates from the local (shifted) context. The embedded clause is fully evaluated from the reported speaker's perspective.
"John said: 'I am happy here now.'"
- "I" = John, "here" = John's location, "now" = John's time
Equations
- One or more equations did not get rendered due to their size.
Instances For
Indirect speech: all coordinates from the origin (speech-act context). Standard Kaplanian interpretation — no perspective shift.
"John said that I am happy here now."
- "I" = actual speaker, "here" = actual location, "now" = actual time
Equations
- One or more equations did not get rendered due to their size.
Instances For
Direct speech is uniform: all coordinates read from the same depth.
Indirect speech is uniform: all coordinates read from the same depth.
FID is NOT uniform: agent reads from a different depth than time.
FID is mixed: it is neither pure origin-access nor pure local-access. The agent comes from origin but time comes from local.
In a root tower (no embedding), all three profiles agree: they all resolve to the same context.
Under a perspective shift, FID's agent differs from direct speech's agent: FID reads the narrator (origin), direct speech reads the character (local).