Skip to main content

Chapter 11
State Propagation

Why LLMs Can Execute It
Author: Mark Higgins
and Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 16 March 2026
Audio Overview

State Propagation

11.1 Introduction

Any system capable of reasoning, computation, or physical evolution must maintain continuity between moments of operation. The state at one moment cannot exist in isolation; it must influence what follows. This process—where the internal condition of a system carries forward and shapes the next step of execution—is known as state propagation.

In traditional computing systems, state propagation is mediated through variables, memory registers, stack frames, or stored program data. Each execution cycle reads the current state, applies transformation rules, and produces a new state for the next cycle. The mechanism may appear trivial in simple programs, but it becomes structurally complex in large systems where multiple modules, threads, and processes interact.

Flow Algebra treats state propagation not as an implementation detail but as a fundamental structural principle. Every system is modelled as a flow of state through time, constrained by boundaries, invariants, and transformation rules.

Rather than focusing on individual instructions, Flow Algebra focuses on how state moves through the system.

11.2 The Concept of System State

A system state represents the complete internal condition of a system at a given moment.

Formally, we define the state at time ttas:

$S_t$

This state may include:

  • stored facts
  • intermediate reasoning steps
  • environmental inputs
  • internal variables
  • constraint markers
  • memory registers
  • belief structures

In Flow Algebra systems, the state is typically structured as a collection of elements:

$S_t = \{ s_1, s_2, s_3, \dots, s_n \}$

Each element represents a piece of information or a structural marker that contributes to the system's overall condition.

Crucially, the state is not static. It evolves through time.

11.3 The Propagation Function

State propagation occurs through the application of a state transition function.

This function transforms the current state into the next state:

$S_{t+1} = F(S_t)$

Where:

  • StS_t is the current system state
  • FF is the transformation process
  • St+1S_{t+1} is the resulting next state

The transformation function FF may include:

  • logical inference
  • rule application
  • constraint filtering
  • contradiction removal
  • memory updates
  • structural reorganisation

Every reasoning step in a Flow Algebra system can therefore be viewed as a state transformation.

11.4 Deterministic vs Non-Deterministic Propagation

State propagation may occur under different structural conditions.

Deterministic Propagation

In deterministic systems, a given state always produces the same next state.

$S_t \rightarrow S_{t+1}$

Such systems are predictable and reproducible. Classical compilers, deterministic algorithms, and many mathematical models operate under this structure.

Non-Deterministic Propagation

In non-deterministic systems, a state may produce multiple possible future states.

$S_t \rightarrow \{ S_{t+1}^{(1)}, S_{t+1}^{(2)}, \dots \}$

These branching structures appear in:

  • probabilistic reasoning
  • search algorithms
  • machine learning systems
  • evolutionary simulations

Flow Algebra accommodates both forms by allowing propagation functions to produce state sets rather than single states.

11.5 Constraint-Preserving Propagation

Not all state transitions are valid. Systems often operate under constraints that must remain satisfied during propagation.

Let KK represent a set of constraints:

$K = \{ k_1, k_2, \dots, k_m \}$

A propagation step is considered valid only if:

$\forall k \in K,\; k(S_{t+1}) = \text{true}$

If a transformation produces a state that violates constraints, the transition is rejected or corrected.

This principle ensures structural stability during reasoning.

11.6 Propagation in Zero-Shot Reasoning

Zero-shot systems operate without precompiled rules or task-specific training. Instead, reasoning emerges dynamically from structured information and inference processes.

In such systems:

  • 1. Inputs are introduced into the system state.
  • 2. Reasoning operators act on the state.
  • 3. The resulting state is propagated forward.
  • 4. Constraints ensure coherence and validity.

The reasoning chain therefore forms a propagation sequence:

$S_0 \rightarrow S_1 \rightarrow S_2 \rightarrow \dots \rightarrow S_n$

Each step refines the internal state until a stable or goal state is reached.

This mechanism allows large language models to perform reasoning without needing specialised code for every problem.

11.7 Structural Propagation vs Instruction Execution

Traditional computing focuses on instruction execution:

execute instruction
update variable
move to next instruction

Flow Algebra instead models computation as state flow.

The system evolves through structured transformations of its internal condition.

This distinction has profound implications:

Traditional ProgrammingFlow Algebra
Instruction-driven

State-driven

Control flow
State flow
Program counter
State transition
Code defines behaviour
Structure defines behaviour

In Flow Algebra systems, the behaviour of the system emerges from the structure of state transitions, not from sequential instructions.

11.8 Propagation Stability

For a system to operate reliably, state propagation must maintain structural coherence.

Unstable propagation may lead to:

  • infinite loops
  • contradictory states
  • loss of information
  • runaway inference chains

Flow Algebra introduces stabilisation mechanisms such as:

  • invariant enforcement
  • contradiction detection
  • boundary filtering
  • propagation limits

These mechanisms ensure that state evolution remains bounded and coherent.

11.9 Propagation as the Core of Reasoning

All reasoning processes—whether human, computational, or physical—can be viewed as forms of state propagation.

Examples include:

DomainPropagation Process
Logical reasoning

Belief state updates

Physics
State evolution through physical laws
Computation
Memory state transformation
Language models
Token belief distribution updates
Biological systems
Cellular state transitions

From this perspective, propagation is the engine of cognition and computation.

11.10 Structural Implications for Zero-Shot Systems

Because Flow Algebra expresses reasoning in terms of state propagation rather than compiled instructions, it becomes inherently zero-shot deployable.

Any sufficiently capable reasoning system—human or artificial—can interpret a Flow Algebra description because it merely describes how states should evolve.

No compiler is required.

The reasoning engine already exists within the system interpreting the flow.

Thus, Flow Algebra provides a universal description of reasoning dynamics, allowing structured reasoning processes to be executed directly by large language models and other cognitive systems.

11.11 Conclusion

State propagation is the mechanism through which systems evolve across time. It links one moment of computation or reasoning to the next, carrying forward the internal condition of the system and enabling complex behaviour to emerge.

In Flow Algebra and zero-shot reasoning frameworks, propagation replaces instruction sequences as the fundamental driver of computation. Systems are understood not as sequences of commands but as structured flows of evolving state.

By formalising state propagation, Flow Algebra provides a unified framework for modelling reasoning, computation, and dynamic systems—allowing complex behaviours to emerge from structured transformations of internal state.

Introduction - In Depth

If structured reasoning defines how valid inference must occur, then state propagation defines how the consequences of inference persist through time.

A reasoning system is not merely a collection of isolated operations. It is a dynamic structure whose internal condition evolves as new information is introduced, transformed, preserved, or rejected. Every rule application, every verified derivation, and every failed candidate transition changes the informational configuration of the system. The question is not only whether a reasoning step is valid, but how the resulting state is carried forward into subsequent reasoning.

This is the role of state propagation.

State propagation is the mechanism by which a system’s internal condition at one step becomes the starting point for the next. It is the continuity layer of structured reasoning. Without it, reasoning would collapse into disconnected local operations with no cumulative memory, no proof development, and no persistent structural evolution.

In Flow Algebra, state propagation is not treated as a secondary implementation detail. It is a primary architectural principle. A system reasons only because its internal state can be transformed in a controlled way and then propagated forward while preserving boundaries, invariants, and traceability.

This makes state propagation fundamental not only to formal reasoning, but to any system that claims to operate coherently across time.

Why State Propagation Matters

A single inference step, taken in isolation, proves very little. Complex reasoning depends on the accumulation of intermediate results. New claims must remain available for later transformations. Derived structure must persist. Logical context must not be lost between steps.

A reasoning system therefore requires a mechanism for:

  • preserving prior valid information
  • incorporating newly derived claims
  • rejecting invalid or unsupported additions
  • carrying the resulting state into the next cycle of analysis

This process is what allows reasoning to form a chain rather than a fragment.

Without state propagation, a system could produce local transformations, but it could not construct proofs, maintain continuity, or develop higher-order conclusions from earlier results. Every step would begin again from an unconnected snapshot, and no genuine reasoning trajectory could emerge.

State propagation therefore underlies:

  • iterative proof construction
  • recursive inference
  • memory continuity
  • contradiction detection across time
  • stable zero-shot execution

In this sense, propagation is what turns a reasoning engine into a temporally coherent system.

The Concept of State

To understand state propagation, we must first define what is meant by state.

In a structured reasoning system, the state is the total internally available condition of the system at a given reasoning step. It includes not only known facts, but also derived claims, active questions, registered assumptions, provenance mappings, evidence links, constraint markers, and traceable structural relationships.

Formally, we denote the internal state at time tt as:

$S_t$

In the context of structured reasoning, this state may be decomposed into several interacting components:

$S_t = (I_t, R, B, K, T_t)$

Where:

  • ItI_t is the internal information state at time tt
  • RR is the rule set governing admissible transformations
  • BB is the system boundary controlling information admission
  • KK is the invariant set constraining valid evolution
  • TtT_t is the accumulated proof trace up to time tt

This expression is important because it shows that state is not merely “data.” It is a structured condition comprising content, constraints, admissibility rules, and historical trace.

The system does not reason over raw information alone. It reasons over a regulated state-space.

State as a Temporal Continuity Structure

A reasoning system only becomes meaningful when state is understood temporally.

At time tt, the system occupies a specific internal configuration. At time t+1t+1 it occupies a new configuration derived from the prior one through valid transformation. State propagation is the process that connects these moments.

This may be expressed as:

$S_{t+1} = F(S_t)$

Where FF is the state propagation operator.

In a simple sense, this looks like an ordinary transition function. But in structured reasoning, FF is not an arbitrary mapping. It is a constrained operator whose action must preserve the integrity of the reasoning system.

More precisely, the transition must satisfy the following conditions:

  • 1. The new state must arise only from internally available material or boundary-permitted inputs.
  • 2. All structural invariants must remain satisfied after the transition.
  • 3. All newly introduced claims must be justified.
  • 4. The transition must be recorded in the proof trace.
  • 5. Invalid state candidates must be rejected rather than silently absorbed.

Thus state propagation is not mere motion from one state to another. It is constrained continuity.

Propagation in Structured Reasoning Systems

The previous chapter established that reasoning is a sequence of rule-governed state transformations. State propagation is the mechanism that makes those transformations cumulative.

If a rule derives a new claim from existing information, that claim must be inserted into the reasoning state and made available for subsequent operations. If an inconsistency is detected, the state must either reject the invalid transition or move into a detectable failure configuration. If no rule can advance the reasoning chain without structural breach, the system must propagate an explicit UNKNOWN condition rather than invent a conclusion.

This means that propagation is not neutral. It determines which informational structures survive, which are excluded, and which become causally active in future reasoning.

In Flow Algebra, propagation is therefore the persistence of structurally valid information through the inference loop.

This may be represented by the iterative reasoning sequence:

$S_0 \rightarrow S_1 \rightarrow S_2 \rightarrow \cdots \rightarrow S_n$

Where each transition satisfies:

$S_{t+1} = F_R(S_t)$

subject to:

$\forall k \in K,\; k(S_{t+1}) = \text{true}$

and:

$\forall c \in \Delta_t,\; source(c) \in B$

where Δt\Delta_t denotes the set of claims newly introduced during the transition from StS_t to St+1S_{t+1}.

This formalism makes clear that reasoning is not a flat sequence of outputs. It is a regulated propagation of admissible structural content across time.

State Propagation and Closure

One of the most important properties of state propagation in structured reasoning is closure.

A closed reasoning system must ensure that propagation does not import undeclared information. Every propagated state must remain inside the logical world defined by the system.

If the system begins with a bounded internal state I0I_0, then every later state ItI_t must be derivable from:

  • the initial facts
  • declared axioms
  • declared assumptions
  • rule-based transformations
  • boundary-permitted additions only

This means that propagation must obey the closure condition:

$I_{t+1} \subseteq \Phi(I_t, R, B)$

Where Φ\Phi denotes the set of admissible transformations permitted by the rule set and boundary structure.

If state propagation were allowed to introduce undeclared assumptions, hidden priors, or external semantic leakage, the reasoning system would cease to be closed. Its outputs could no longer be interpreted as consequences of internal logic alone.

Thus, closure is not just a property of inference rules. It must also be enforced at the level of state propagation.

Propagation and Boundary Preservation

In the previous chapter, boundary preservation prevented external assumptions from entering the reasoning process. In this chapter, the same principle appears in temporal form.

It is not enough for a single reasoning step to respect the system boundary. The propagation of the resulting state must also respect it.

This means that every newly propagated claim must carry a valid provenance tag, and every propagated state must remain informationally bounded.

Let cjc_j be a claim added during state transition. Then valid propagation requires:

$source(c_j) \in B_{allow}$

and:

$source(c_j) \notin B_{deny}$

A state that includes claims of unknown or forbidden provenance is not a valid propagated state. It is a structurally compromised state.

This matters because many failures in statistical systems do not occur at the initial inference moment, but during later accumulation. Small undeclared assumptions enter the state, persist, and are then used as if they were established truths. Over time, this causes propagation drift.

Boundary-preserving propagation prevents such drift by ensuring that only admissible informational structures survive into future reasoning cycles.

Invariant-Preserving Propagation

A state transition is only meaningful if the resulting state remains structurally coherent.

For this reason, state propagation must preserve invariants.

If

$K = \{ k_1, k_2, \dots, k_m \}$

is the invariant set, then every propagated state must satisfy:

$\forall k \in K,\; k(S_t) = \text{true}$

for all valid reasoning times tt

This means that invariants do not merely constrain rule execution. They constrain the admissibility of the entire propagated future of the system.

If a candidate transformation generates a state St+1S_{t+1} for which any invariant fails, then that state must not be propagated forward.

Formally, if:

$\exists k \in K \text{ such that } k(S_{t+1}) = \text{false}$

then the transition is invalid and must be rejected.

This gives state propagation a selective role. It does not transmit everything. It transmits only those successor states that preserve the system’s structural truths.

This is analogous to physical systems in which only dynamically stable configurations persist. In structured reasoning, only invariant-preserving configurations are allowed to survive as future reasoning states.

State Propagation as Information Survival

A useful way to think about propagation is as a survival filter over internal information.

At any given step, the system contains a mixture of:

  • established facts
  • previously derived claims
  • candidate new claims
  • rejected transitions
  • unresolved questions
  • trace history

Propagation determines which of these remain causally active in the next step.

In that sense, propagated state is not simply the “next memory.” It is the subset of internal structure that has survived structural testing.

This aligns closely with a broader systems view:

  • information that cannot be justified does not survive
  • information that violates invariants does not survive
  • information that breaches boundaries does not survive
  • information that is structurally consistent does survive

Thus, state propagation is the continuity mechanism of structural selection.

The system evolves not by retaining everything indiscriminately, but by preserving only what can remain coherent within its defined logic.

State Propagation and Proof Construction

In formal reasoning, a proof is not produced instantaneously. It is constructed incrementally through a chain of valid intermediate states.

Each step introduces derived material that becomes part of the active reasoning context for the next step. Without propagation, no such accumulation could occur.

Suppose a reasoning system begins with an initial state S0S_0. A rule applied at step 1 derives a claim c1c_1, yielding state S1S_1. A second rule uses c1c_1 together with earlier facts to derive c2c_2, yielding S2S_2. This continues until a target conclusion qq is eventually derived at step nn.

The proof therefore exists not only in the final conclusion, but in the propagated chain:

$S_0 \Rightarrow S_1 \Rightarrow S_2 \Rightarrow \cdots \Rightarrow S_n$

This chain is the constructive substance of reasoning.

State propagation is therefore what allows proof structure to accumulate over time. It provides the continuity through which intermediate derivations remain available, composable, and auditable.

Without propagation, there is no proof development — only isolated logical events.

Telephone:
01377 236594

Deterministic and Non-Deterministic Propagation

Not all state propagation systems operate in the same way. In general, propagation may be deterministic or branching.

Deterministic Propagation

In deterministic propagation, a given state produces one valid next state under the rule-selection regime:

$S_t \mapsto S_{t+1}$

This is the preferred form for scientific reasoning systems because it guarantees reproducibility. Given identical inputs, rules, invariants, and boundary conditions, the same reasoning path is followed every time.

This is especially important in Flow Algebra, where zero-shot interpretability depends on the flow being executable in a stable and inspectable way.

Branching Propagation

In more complex reasoning systems, one state may permit multiple valid successors:

$S_t \mapsto \{ S_{t+1}^{(1)}, S_{t+1}^{(2)}, \dots, S_{t+1}^{(n)} \}$

This occurs in:
  • search-based inference
  • proof exploration
  • alternative derivation systems
  • non-monotonic reasoning
  • probabilistic branching systems

Even in such cases, the propagation mechanism must remain structurally constrained. Each branch must independently satisfy boundary and invariant conditions. Branching does not remove the need for disciplined propagation. It only multiplies the number of candidate futures.

Flow Algebra can describe both deterministic and exhaustive propagation regimes, but for transparent zero-shot reasoning, deterministic closure remains the most robust form.

Monotonic and Non-Monotonic Propagation

A deeper distinction concerns whether propagated state only accumulates information or may also revise it.

Monotonic Propagation

A monotonic system satisfies:

$I_t \subseteq I_{t+1}$

That is, information is added but not removed. Once a claim has been established, it remains in the state permanently.

This is common in classical theorem proving and forward-chaining systems.

Non-Monotonic Propagation

In non-monotonic systems, previously accepted claims may later be revised, withdrawn, or superseded:

$I_{t+1} \not\supseteq I_t$

This may be necessary in systems dealing with defeasible reasoning, contradiction repair, changing evidence, or dynamic environments.

Flow Algebra can express either regime, but the key requirement remains the same: any revision itself must be propagated transparently, with explicit trace, provenance, and structural justification.

In other words, even when state is allowed to change in more complex ways, the propagation process must remain auditable.

Propagation, Memory, and Internal Persistence

State propagation is closely related to memory, but the two are not identical.

Memory refers to stored informational content. Propagation refers to the controlled transfer of relevant informational structure from one reasoning moment to the next.

A system may possess memory without coherent propagation. For example, it may store facts but fail to carry the correct active configuration forward. Conversely, a system may propagate state locally across steps even if long-term memory is limited.

What matters in structured reasoning is active persistence: the ability of the relevant internal state to remain available across inference cycles.

This includes not only content persistence, but also preservation of:

  • evidential links
  • provenance tags
  • invariant status
  • pending questions
  • proof context
  • contradiction markers

A reasoning engine that propagates facts but loses provenance is not structurally reliable. A system that propagates claims but drops evidence maps cannot remain fully auditable. A system that propagates content but not invariants risks silent logical corruption.

Thus, proper state propagation is richer than memory copying. It is the preservation of structured internal coherence.

State Propagation and Error Containment

Another major function of propagation is error containment.

If a candidate transition is invalid, the system must prevent that invalid structure from entering the propagated state. Otherwise, local failure becomes persistent corruption.

This is why structured reasoning systems distinguish sharply between:

  • candidate state
  • accepted propagated state
  • rejected state
  • failure state

Let St∗S_t^* denote a candidate successor state. Then propagation only occurs if:

$Valid(S_t^{*}) = \text{true}$

where validity includes boundary, invariant, novelty, and justification checks.

If validity fails, then:

$S_{t+1} \neq S_t^{*}$

and the candidate is recorded but not committed.

This separation is essential. It prevents transient reasoning errors from becoming part of the official internal world of the system.

In effect, propagation acts as a membrane between possibility and commitment.

State Propagation in Zero-Shot Systems

State propagation becomes especially important in zero-shot systems because such systems cannot rely on prior task-specific training to stabilise reasoning. They must derive conclusions from the current structure alone.

This means the propagated state is doing far more than storing results. It is carrying the full active reasoning context needed for continuation.

In zero-shot reasoning:

  • the current state must preserve all derivationally relevant content
  • unsupported extrapolation must not propagate
  • unresolved informational gaps must remain explicit
  • every new reasoning step depends on the integrity of the propagated state from the previous one

A zero-shot system is therefore only as reliable as its state propagation discipline.

If propagation is loose, hidden assumptions will accumulate. If propagation is opaque, reasoning cannot be audited. If propagation is unstable, long inference chains will drift into contradiction or fabrication.

By contrast, if propagation is structurally constrained, then the system can analyse previously unseen problems through stepwise preservation of valid state.

This is one of the deepest reasons Flow Algebra supports zero-shot reasoning: it describes not just isolated transformations, but the lawful persistence of transformed state across time.

Propagation Failure Modes

To understand the importance of disciplined propagation, it is helpful to identify the main failure modes.

  • 1. Silent State Injection
    A claim enters the propagated state without provenance or justification. This creates hidden dependency chains that later appear as if internally established.
  • 2. Invariant Drift
    A candidate state violates a structural truth, but the failure is not detected. The corrupted state then becomes the basis for future reasoning.
  • 3. State Loss
    Relevant intermediate structure is not propagated. Later steps fail, not because the reasoning is impossible, but because required context has been dropped.
  • 4. Loop Repetition
    The system repeatedly propagates equivalent states or re-adds the same claims, creating circular inference without progress.
  • 5. Unsupported Closure Illusion
    The system reaches a conclusion because state accumulation gives an appearance of completeness, while the actual derivational chain remains incomplete.

A well-formed propagation architecture must actively prevent these failure modes through explicit structural checks and traceable state transition rules.

Transparency and Propagation Trace

State propagation must be visible.

In structured reasoning, each propagated state should be reconstructible from the prior one plus an explicitly recorded transformation. This is why proof tracing is not an optional feature, but a fundamental part of propagation.

Each transition should record:

  • the rule applied
  • the prior state reference
  • the resulting state reference
  • the claims added or revised
  • the evidence used
  • the outcome of boundary and invariant checks
  • the reason for rejection if the candidate state was not propagated

This turns the state sequence into an inspectable chain:

$(S_0, \tau_0), (S_1, \tau_1), \dots, (S_n, \tau_n)$

where each τt\tau_t is the trace entry explaining the transition from StS_t to St+1S_{t+1}.

Propagation thus becomes transparent temporal logic rather than hidden internal mutation.

Scientific Context

The concept of state propagation appears across many scientific and computational disciplines.

In automata theory, systems evolve through state transitions governed by input and transition rules.

In dynamical systems, state variables propagate according to evolution equations.

In control theory, the system state carries forward the complete relevant condition of the process.

In theorem proving, proof states accumulate derived expressions over successive inference steps.

In programming language semantics, execution is often modelled as a transition relation over program states.

In all of these fields, the same general principle appears: the future behaviour of a system depends on how its present state is transformed and carried forward.

The Flow Algebra treatment of state propagation belongs within this family, but extends it by integrating:

  • explicit boundary control
  • invariant enforcement
  • provenance-sensitive transition admission
  • built-in traceability
  • UNKNOWN termination instead of speculative completion

This makes state propagation in Flow Algebra particularly suitable for coherent zero-shot reasoning systems.

State Propagation as a Structural Principle

At a deeper level, state propagation shows that reasoning is not just about deriving valid statements. It is about preserving a coherent evolving structure.

A reasoning system is not defined solely by what rules it has, but by how the consequences of those rules persist.

This shifts the understanding of inference from isolated logical correctness to architectural continuity.

A structurally coherent system must answer three questions at every step:

  • 1. What is the current internal state?
  • 2. What transformations are valid from this state?
  • 3. Which resulting state is allowed to survive into the next moment?

The third question is the domain of propagation.

This is why propagation is foundational. It determines whether reasoning becomes cumulative knowledge or collapses into disconnected local acts.

Conclusion

State propagation is the mechanism that allows structured reasoning to persist across time.

It carries forward the internal condition of the system from one inference step to the next, while enforcing closure, boundary preservation, invariant stability, justification, and traceability. It is the continuity layer that makes proof construction, recursive inference, and zero-shot analysis possible.

In Flow Algebra, state propagation is not a secondary operational detail. It is a formal structural principle governing how reasoning survives.

A coherent reasoning system does not merely compute transitions. It propagates admissible state.

That distinction is essential.

Reasoning becomes reliable not simply when a system can perform an inference, but when it can preserve the consequences of valid inference without admitting hidden assumptions, violating invariants, or losing structural continuity.

State propagation is therefore the temporal backbone of structured reasoning.

It is the mechanism by which logic becomes process, process becomes continuity, and continuity becomes coherent intelligence.

Structured Reasoning in Flow Algebra

State Propagation

The concept of state propagation is central to the operation of structured reasoning systems implemented using Flow Algebra. While the previous chapter established how reasoning transformations must preserve boundaries and invariants, this chapter addresses how the resulting informational structures persist and evolve across successive inference steps.

Flow Algebra treats reasoning not as a sequence of isolated logical operations, but as a controlled evolution of system state. Each inference step transforms the internal state of the reasoning engine, and the resulting state becomes the starting point for the next reasoning cycle. Through this process, knowledge accumulates, intermediate results remain accessible, and complex reasoning chains become possible.

Within this framework, reasoning is therefore understood as a regulated propagation of state through time.

Telephone:
01377 236594

The Propagating Reasoning State

In Flow Algebra, the reasoning engine operates on a structured internal state containing all information available to the system. This includes facts, derived claims, open questions, axioms, assumptions, provenance mappings, and the historical trace of reasoning steps.

At any moment in the reasoning process, the system occupies a specific informational configuration. This configuration is referred to as the system state and is typically denoted as:

$S_t$

Where tt represents the reasoning step or temporal index.

The state itself is not merely a collection of data elements. Instead, it is a structured entity composed of multiple interacting components that collectively determine how reasoning can proceed.

Within the Flow Algebra reasoning architecture, the state may be expressed conceptually as:

$S_t = (I_t, R, B, K, T_t)$

Where:

  • ItI_t represents the internal knowledge state at time tt
  • RR represents the rule set governing valid transformations
  • BB represents the system boundary defining permitted information sources
  • KK represents the invariant set ensuring logical consistency
  • TtT_t represents the accumulated proof trace

These components together define the full reasoning environment at a given moment.

State propagation describes how this structured configuration evolves as reasoning progresses.

State Transformation and Propagation

Reasoning steps in Flow Algebra are implemented through rule-based transformations of the internal state. Each rule takes the current reasoning state as input and produces a candidate successor state.

This transformation process can be expressed formally as:

$S_{t+1} = R(S_t)$

Where:

  • StS_t is the current reasoning state
  • RR is the transformation defined by the rule set
  • St+1S_{t+1} is the candidate next state

However, the candidate state cannot automatically become the next reasoning state. Before propagation occurs, the system must verify that the candidate transformation satisfies all structural requirements.

Only if these conditions are satisfied is the new state accepted and propagated forward.

In other words, Flow Algebra distinguishes between candidate states and propagated states. Propagation only occurs when structural integrity is preserved.

Structural Conditions for Propagation

For a candidate state to become the next propagated state of the reasoning system, several structural conditions must be satisfied.

Boundary Preservation

All newly introduced claims must originate from permitted information sources.

Every claim carries a provenance tag that identifies its source. The boundary definition specifies which sources are allowed within the reasoning system.

Formally, for every newly derived claim cjc_j:

$source(c_j) \in B$

If a claim originates from a source outside the permitted boundary, the candidate state is rejected.

This condition prevents the reasoning system from introducing hidden assumptions or external knowledge during inference.

Invariant Preservation

The reasoning system also enforces a set of invariants representing structural truths that must remain valid throughout the reasoning process.

After a candidate transformation is generated, the system verifies that every invariant remains satisfied.

Formally, the invariant preservation condition requires:

$\forall k \in K,\; k(S_{t+1}) = \text{true}$

If any invariant fails, the candidate state cannot be propagated forward.

This mechanism prevents the reasoning system from evolving into logically inconsistent configurations.

Evidence Justification

Structured reasoning requires that every new claim be supported by identifiable evidence or derivation steps.

This evidence may originate from:

  • explicitly declared axioms
  • declared assumptions
  • rule-based derivations from existing claims

If a claim lacks justification, the candidate state fails the justification check and is rejected.

This requirement ensures that reasoning remains traceable and verifiable.

Novelty Preservation

To prevent infinite reasoning loops, the reasoning engine also verifies that newly generated claims represent genuinely new information.

If a rule attempts to reintroduce claims already present in the reasoning state, the transformation is rejected.

This novelty check ensures that the reasoning process continues to expand the knowledge state rather than repeating previous steps.

Propagation Through the Reasoning Loop

Once a candidate state has satisfied all structural conditions, the reasoning system propagates that state forward.

The reasoning process therefore becomes an iterative sequence of state transitions:

$S_0 \rightarrow S_1 \rightarrow S_2 \rightarrow \cdots \rightarrow S_n$

Each transition represents a validated reasoning step recorded in the system’s proof trace.

Through this propagation process, the internal knowledge state evolves as new claims are derived and integrated into the reasoning structure.

Over time, this incremental expansion of the reasoning state allows the system to construct complex logical chains and ultimately resolve the target question.

State Propagation and Proof Construction

State propagation plays a critical role in the construction of formal proofs.

Each reasoning step may derive intermediate results that are required for subsequent inference steps. Without propagation, these intermediate claims would not persist long enough to participate in later transformations.

For example:

  • 1. Initial facts produce an intermediate claim.
  • 2. That claim enables a second inference.
  • 3. The second inference enables a third transformation.
  • 4. Eventually the target conclusion is derived.

This chain of reasoning exists only because each intermediate state is preserved and propagated forward.

State propagation therefore provides the temporal continuity necessary for constructing proofs through incremental inference.

State Propagation and Reasoning Stability

A reasoning system that fails to manage state propagation correctly may exhibit several forms of instability.

These include:

  • loss of intermediate reasoning context
  • introduction of unsupported claims
  • accumulation of hidden assumptions
  • propagation of logically inconsistent states
  • infinite inference loops

The structural checks implemented in Flow Algebra prevent these failure modes by ensuring that only structurally valid states are propagated forward.

This selective propagation mechanism acts as a stability filter for the reasoning process.

Implications for Zero-Shot Reasoning

The disciplined propagation of state is particularly important for zero-shot reasoning systems.

Zero-shot systems must analyse problems without relying on domain-specific training data. Instead, they depend entirely on the structure of the reasoning architecture.

Because Flow Algebra propagates only structurally valid reasoning states, the system can analyse new problems by applying transformation rules to the available information.

If a valid reasoning chain exists, the system will discover it through successive state transitions.

If no valid reasoning path exists, the system terminates with an UNKNOWN outcome rather than fabricating an unsupported answer.

This behaviour ensures that the reasoning process remains reliable even in unfamiliar problem domains.

State Propagation as an Architectural Principle

The Flow Algebra formulation reveals that state propagation is not merely an operational detail of reasoning systems.

Instead, it is a fundamental architectural principle governing how reasoning systems maintain coherence over time.

A system capable of reliable reasoning must ensure that:

  • valid transformations are preserved
  • invalid transformations are rejected
  • internal consistency is maintained
  • informational boundaries remain intact
  • reasoning steps remain traceable

When these conditions are satisfied, reasoning becomes a natural consequence of the system’s structure.

Flow Algebra provides a clear and executable language for expressing this architecture, allowing reasoning systems to be defined in a transparent and verifiable form.

In this way, state propagation forms the temporal backbone of structured reasoning systems and plays a crucial role in enabling deterministic, zero-shot inference.

flow "StatePropagation" v1.0

flow "StatePropagation" v1.0
desc: >
  State Propagation defines how a structured reasoning system carries its internal
  state forward across inference steps. A candidate successor state may only be
  propagated if it preserves closure, boundary validity, invariant consistency,
  justification, novelty, and trace continuity. Propagation is therefore not
  simple state transfer, but regulated survival of structurally valid information
  through time.

# ---------------------------------
# DOMAIN MODEL (chapter-level)
# ---------------------------------
types:
  Token:          str
  Fact:           str
  Claim:          str
  Question:       str
  RuleId:         str
  EvidenceId:     str
  SnapshotRef:    str
  Time:           int

  Boundary:
    allow_sources: [str]
    deny_sources:  [str]

  Invariant:
    id: RuleId
    statement: str
    check: fn(State)->bool

  Rule:
    id: RuleId
    name: str
    requires: [str]
    transform: fn(State)->State
    produces: [Claim]

  TransitionResult:
    candidate_generated: bool
    candidate_valid: bool
    committed: bool
    reason: str

  Step:
    t: Time
    rule: RuleId
    in_snapshot: SnapshotRef
    candidate_snapshot: SnapshotRef
    out_snapshot: SnapshotRef
    added_claims: [Claim]
    carried_claims: [Claim]
    rejected_claims: [Claim]
    used_evidence: [EvidenceId]
    checks:
      closure: bool
      boundary: bool
      invariants: bool
      novelty: bool
      justifiable: bool
      traceable: bool
    result: TransitionResult
    note: str?

  PropagationTrace:
    steps: [Step]
    status: enum{PASS,WARN,FAIL,UNKNOWN}
    reason: str

# ---------------------------------
# STATE (propagating reasoning world)
# ---------------------------------
state:
  S:
    t: Time

    I:
      facts:         set[Fact]
      claims:        set[Claim]
      questions:     set[Question]
      axioms:        set[Claim]
      assumptions:   set[Claim]
      evidence_map:  map[Claim,[EvidenceId]]
      provenance:    map[Claim,str]
      lineage:       map[Claim,[Claim]]
      snapshots:     map[SnapshotRef,any]

    R:
      rules:         map[RuleId,Rule]
      selection:     enum{deterministic,ranked,exhaustive}

    B:
      boundary:      Boundary

    K:
      invariants:    map[RuleId,Invariant]

    T:
      trace:         PropagationTrace

# ---------------------------------
# PARAMETERS
# ---------------------------------
params:
  max_steps: 250
  stop_on_fail: true
  unknown_on_gap: true
  require_provenance: true
  require_evidence_links: true
  require_trace_entry: true
  preserve_all_valid_claims: true
  allow_assumption_injection: false
  monotonic_mode: true
  reject_empty_transition: true

# ---------------------------------
# IO
# ---------------------------------
io:
  input:
    facts:         set[Fact]
    question:      Question
    axioms?:       set[Claim]
    assumptions?:  set[Claim]
    ruleset:       map[RuleId,Rule]
    invariants:    map[RuleId,Invariant]
    boundary:      Boundary

  output:
    answer:        enum{PROVED,DISPROVED,UNKNOWN,FAIL}
    conclusion?:   Claim
    final_state:   any
    trace:         PropagationTrace

# ---------------------------------
# INITIALISATION
# ---------------------------------
init:
  S.t                   := 0

  S.I.facts             := io.input.facts
  S.I.questions         := { io.input.question }
  S.I.axioms            := io.input.axioms ?? {}
  S.I.assumptions       := io.input.assumptions ?? {}
  S.I.claims            := {}
  S.I.evidence_map      := {}
  S.I.provenance        := {}
  S.I.lineage           := {}
  S.I.snapshots         := {}

  S.R.rules             := io.input.ruleset
  S.R.selection         := deterministic

  S.B.boundary          := io.input.boundary
  S.K.invariants        := io.input.invariants

  for each c in S.I.axioms:
    S.I.claims.add(c)
    S.I.provenance[c] := "declared_axioms"
    S.I.lineage[c] := []

  for each c in S.I.assumptions:
    S.I.claims.add(c)
    S.I.provenance[c] := "declared_assumptions"
    S.I.lineage[c] := []

  for each f in S.I.facts:
    S.I.claims.add(f)
    S.I.provenance[f] := "input"
    S.I.lineage[f] := []

  S.T.trace.steps       := []
  S.T.trace.status      := PASS
  S.T.trace.reason      := "initialised"

  snapshots_save("S0")

# ---------------------------------
# CORE PRINCIPLES
# ---------------------------------
principles:
  P1_StateContinuity:
    statement: "Every valid reasoning step must produce a successor state that can serve as the basis for subsequent reasoning."

  P2_Closure:
    statement: "The propagated state may contain only information already present internally or admitted by the declared boundary."

  P3_BoundaryPreservation:
    statement: "All newly added claims must originate from allowed provenance sources."

  P4_InvariantPreservation:
    statement: "Every propagated state must satisfy all active invariants."

  P5_JustifiedPropagation:
    statement: "No derived claim may survive propagation without explicit supporting evidence or declared status."

  P6_TraceContinuity:
    statement: "Every committed transition must be recorded in the propagation trace."

  P7_NoHallucination:
    statement: "If no structurally valid successor state exists, return UNKNOWN rather than fabricate progression."

# ---------------------------------
# CHECKS
# ---------------------------------
checks:

  closure_ok(claims_to_add:set[Claim]) -> bool:
    for each c in claims_to_add:
      if c not in S.I.provenance:
        return false
      src := S.I.provenance[c]
      if src == "external_world":
        return false
      if src == "implicit_prior":
        return false
      if src == "unstated_assumption":
        return false
    return true

  boundary_ok(claims_to_add:set[Claim]) -> bool:
    for each c in claims_to_add:
      if params.require_provenance and (c not in S.I.provenance):
        return false
      src := S.I.provenance[c]
      if src not in S.B.boundary.allow_sources:
        return false
      if src in S.B.boundary.deny_sources:
        return false
    return true

  invariants_ok(candidate_state:State) -> bool:
    for each inv in S.K.invariants.values():
      if inv.check(candidate_state) == false:
        return false
    return true

  justifiable_ok(claims_to_add:set[Claim]) -> bool:
    for each c in claims_to_add:
      src := S.I.provenance.get(c,"")
      if src in ["declared_axioms","declared_assumptions","input"]:
        continue
      if params.require_evidence_links:
        if c not in S.I.evidence_map:
          return false
        if len(S.I.evidence_map[c]) == 0:
          return false
    return true

  novelty_ok(claims_to_add:set[Claim]) -> bool:
    for each c in claims_to_add:
      if c in S.I.claims:
        return false
    return true

  traceable_ok(rule:Rule, in_ref:SnapshotRef, candidate_ref:SnapshotRef) -> bool:
    if params.require_trace_entry == false:
      return true
    if rule.id == "":
      return false
    if in_ref == "":
      return false
    if candidate_ref == "":
      return false
    return true

  monotonic_ok(candidate_state:State) -> bool:
    if params.monotonic_mode == false:
      return true
    return S.I.claims ⊆ candidate_state.I.claims

# ---------------------------------
# RULE SELECTION
# ---------------------------------
select_rules() -> [RuleId]:
  if S.R.selection == deterministic:
    return sort(keys(S.R.rules))
  if S.R.selection == ranked:
    return rank_by_applicability(S.R.rules)
  if S.R.selection == exhaustive:
    return keys(S.R.rules)

# ---------------------------------
# PROPAGATION LOOP
# ---------------------------------
run:

  step_count := 0

  while step_count < params.max_steps:

    if goal_proved(S.I.questions, S.I.claims):
      S.T.trace.status := PASS
      S.T.trace.reason := "goal proved through propagated state"
      io.output.answer := PROVED
      io.output.conclusion := select_goal_conclusion()
      io.output.final_state := S
      io.output.trace := S.T.trace
      stop

    if goal_disproved(S.I.questions, S.I.claims):
      S.T.trace.status := PASS
      S.T.trace.reason := "goal disproved through propagated state"
      io.output.answer := DISPROVED
      io.output.conclusion := select_goal_conclusion()
      io.output.final_state := S
      io.output.trace := S.T.trace
      stop

    progressed := false

    for each rid in select_rules():

      rule := S.R.rules[rid]

      if not preconditions_hold(rule.requires, S):
        continue

      in_ref := snapshots_save("S"+str(step_count)+"_in")

      candidate_state := rule.transform(S)
      candidate_ref := snapshots_save_candidate("S"+str(step_count)+"_candidate", candidate_state)

      claims_to_add := diff_claims(candidate_state.I.claims, S.I.claims)
      carried_claims := S.I.claims ∩ candidate_state.I.claims
      rejected_claims := {}

      if params.reject_empty_transition and len(claims_to_add) == 0:
        rejected_claims := {}
        record_rejected_step(
          step_count, rid, in_ref, candidate_ref, "",
          claims_to_add, carried_claims, rejected_claims,
          false,false,false,false,false,false,
          "empty transition"
        )
        continue

      if (params.allow_assumption_injection == false) and introduces_new_assumptions(candidate_state, S):
        rejected_claims := claims_to_add
        record_rejected_step(
          step_count, rid, in_ref, candidate_ref, "",
          claims_to_add, carried_claims, rejected_claims,
          false,false,false,false,false,false,
          "implicit assumption injection"
        )
        if params.stop_on_fail: goto FAIL_EXIT
        continue

      c_ok := closure_ok(claims_to_add)
      b_ok := boundary_ok(claims_to_add)
      i_ok := invariants_ok(candidate_state)
      j_ok := justifiable_ok(claims_to_add)
      n_ok := novelty_ok(claims_to_add)
      t_ok := traceable_ok(rule, in_ref, candidate_ref)
      m_ok := monotonic_ok(candidate_state)

      if c_ok and b_ok and i_ok and j_ok and n_ok and t_ok and m_ok:

        S := candidate_state
        S.t := step_count + 1

        out_ref := snapshots_save("S"+str(step_count)+"_out")

        S.T.trace.steps.append({
          t: step_count,
          rule: rid,
          in_snapshot: in_ref,
          candidate_snapshot: candidate_ref,
          out_snapshot: out_ref,
          added_claims: list(claims_to_add),
          carried_claims: list(carried_claims),
          rejected_claims: [],
          used_evidence: evidence_used(rule, S),
          checks: {
            closure:     true,
            boundary:    true,
            invariants:  true,
            novelty:     true,
            justifiable: true,
            traceable:   true
          },
          result: {
            candidate_generated: true,
            candidate_valid: true,
            committed: true,
            reason: "propagated"
          },
          note: rule.name
        })

        progressed := true
        step_count := step_count + 1
        break

      else:
        rejected_claims := claims_to_add
        rej_ref := snapshots_save("S"+str(step_count)+"_rejected")

        S.T.trace.steps.append({
          t: step_count,
          rule: rid,
          in_snapshot: in_ref,
          candidate_snapshot: candidate_ref,
          out_snapshot: rej_ref,
          added_claims: list(claims_to_add),
          carried_claims: list(carried_claims),
          rejected_claims: list(rejected_claims),
          used_evidence: evidence_used(rule, S),
          checks: {
            closure:     c_ok,
            boundary:    b_ok,
            invariants:  i_ok,
            novelty:     n_ok,
            justifiable: j_ok,
            traceable:   t_ok
          },
          result: {
            candidate_generated: true,
            candidate_valid: false,
            committed: false,
            reason: "candidate rejected"
          },
          note: rejection_reason(c_ok,b_ok,i_ok,n_ok,j_ok,t_ok,m_ok)
        })
        continue

    if progressed == false:
      if params.unknown_on_gap:
        S.T.trace.status := UNKNOWN
        S.T.trace.reason := "no structurally valid successor state available"
        io.output.answer := UNKNOWN
        io.output.final_state := S
        io.output.trace := S.T.trace
        stop
      else:
        goto FAIL_EXIT

  S.T.trace.status := WARN
  S.T.trace.reason := "max_steps reached before resolution"
  io.output.answer := UNKNOWN
  io.output.final_state := S
  io.output.trace := S.T.trace
  stop

# ---------------------------------
# FAILURE EXIT
# ---------------------------------
FAIL_EXIT:
  S.T.trace.status := FAIL
  S.T.trace.reason := "state propagation failed due to structural breach"
  io.output.answer := FAIL
  io.output.final_state := S
  io.output.trace := S.T.trace
  stop

# ---------------------------------
# SUPPORT FUNCTIONS
# ---------------------------------
functions:

  snapshots_save(label:str) -> SnapshotRef:
    ref := label
    S.I.snapshots[ref] := shallow_copy(S)
    return ref

  snapshots_save_candidate(label:str, candidate_state:State) -> SnapshotRef:
    ref := label
    S.I.snapshots[ref] := shallow_copy(candidate_state)
    return ref

  preconditions_hold(reqs:[str], state) -> bool:
    return all(eval_predicate(r, state) for r in reqs)

  diff_claims(new:set[Claim], old:set[Claim]) -> set[Claim]:
    return new \ old

  evidence_used(rule:Rule, state) -> [EvidenceId]:
    return derive_evidence_ids(rule, state)

  introduces_new_assumptions(candidate_state:State, current_state:State) -> bool:
    return (candidate_state.I.assumptions \ current_state.I.assumptions) != {}

  goal_proved(Q:set[Question], C:set[Claim]) -> bool:
    return exists(q in Q where q in C)

  goal_disproved(Q:set[Question], C:set[Claim]) -> bool:
    return exists(q in Q where neg(q) in C)

  select_goal_conclusion() -> Claim:
    return first(sorted(S.I.questions ∩ S.I.claims))

  rejection_reason(c_ok:bool,b_ok:bool,i_ok:bool,n_ok:bool,j_ok:bool,t_ok:bool,m_ok:bool) -> str:
    if c_ok == false: return "closure violation"
    if b_ok == false: return "boundary violation"
    if i_ok == false: return "invariant violation"
    if n_ok == false: return "non-novel transition"
    if j_ok == false: return "missing justification"
    if t_ok == false: return "trace continuity failure"
    if m_ok == false: return "monotonicity violation"
    return "unknown rejection condition"

  record_rejected_step(
    t:int,
    rid:RuleId,
    in_ref:SnapshotRef,
    candidate_ref:SnapshotRef,
    out_ref:SnapshotRef,
    claims_to_add:set[Claim],
    carried_claims:set[Claim],
    rejected_claims:set[Claim],
    c_ok:bool,
    b_ok:bool,
    i_ok:bool,
    n_ok:bool,
    j_ok:bool,
    t_ok:bool,
    msg:str
  ):
    S.T.trace.steps.append({
      t: t,
      rule: rid,
      in_snapshot: in_ref,
      candidate_snapshot: candidate_ref,
      out_snapshot: snapshots_save("S"+str(t)+"_reject"),
      added_claims: list(claims_to_add),
      carried_claims: list(carried_claims),
      rejected_claims: list(rejected_claims),
      used_evidence: [],
      checks: {
        closure:     c_ok,
        boundary:    b_ok,
        invariants:  i_ok,
        novelty:     n_ok,
        justifiable: j_ok,
        traceable:   t_ok
      },
      result: {
        candidate_generated: true,
        candidate_valid: false,
        committed: false,
        reason: msg
      },
      note: msg
    })

How to Read This Flow

State Propagation Flow

The State Propagation Flow describes how a structured reasoning system maintains continuity across inference steps. While the Structured Reasoning flow defined how valid reasoning transformations occur, this flow explains how the resulting system state is carried forward through time.

Rather than treating reasoning as isolated logical operations, the flow models reasoning as a sequence of controlled state transitions. Each transformation produces a candidate successor state. Only states that satisfy strict structural conditions are permitted to propagate forward.

This propagation process ensures that reasoning remains coherent, traceable, and resistant to hidden assumptions.

The sections of the flow specification correspond to the structural components of this propagation mechanism.

Flow Declaration

The flow begins with the declaration:

flow "StatePropagation" v1.0

This identifier specifies the reasoning architecture being defined and assigns a version number to the specification.

In Flow Algebra, flows function as self-contained executable descriptions of system behaviour. Any reasoning system capable of interpreting Flow Algebra can execute the propagation model directly without requiring external program code.

The declaration therefore marks the beginning of a formal specification describing how reasoning states evolve through time.

Type Definitions

The types section defines the entities used within the propagation system.

Examples include:

  • Fact — verified information initially available to the system
  • Claim — a statement produced through rule-based inference
  • Rule — a transformation capable of generating new claims
  • Invariant — a structural constraint that must remain satisfied
  • SnapshotRef — a reference to a stored state snapshot
  • Step — a record of a reasoning transition

These definitions provide the vocabulary used throughout the propagation architecture.

Explicit type definitions are important because they clarify the structural roles played by each component. Every object within the reasoning system has a clearly defined purpose, ensuring that the flow specification remains unambiguous.

System State

The state section defines the internal structure of the reasoning system.

The system state contains several major components.

Internal Knowledge State (I)

The internal knowledge state stores all information available to the reasoning engine, including:

  • facts
  • derived claims
  • open questions
  • axioms
  • assumptions
  • evidence links
  • provenance information
  • state snapshots

This structure represents the complete informational context available to the system at a given moment.

Rule Set (R)

The rule set defines the transformations that can generate new claims from existing information.

Each rule specifies:

  • preconditions determining when the rule may execute
  • a transformation function that produces a candidate state
  • the claims expected to be generated

Rules therefore act as the operational mechanism that expands the system’s knowledge state.


Boundary Definition (B)

The boundary definition controls what information may enter the reasoning system.

Every claim introduced during reasoning must carry a provenance tag identifying its source. The boundary configuration specifies which sources are permitted and which are prohibited.

This mechanism prevents external assumptions or hidden knowledge from entering the reasoning chain.

Invariant Set (K)

The invariant set contains logical conditions that must remain true throughout the reasoning process.

These invariants represent structural truths about the system’s state.

After each candidate state is generated, the reasoning engine verifies that all invariants remain satisfied. If any invariant fails, the candidate state is rejected and cannot propagate forward.


Trace System (T)

The trace system records every state transition.

Each reasoning step documents:

  • the rule applied
  • the input state snapshot
  • the candidate state snapshot
  • the accepted propagated state
  • the claims introduced
  • the results of structural checks

This trace allows the entire reasoning process to be reconstructed and verified.

Parameters

The parameters section configures how state propagation behaves during execution.

Examples include:

  • max_steps — the maximum number of reasoning iterations permitted
  • stop_on_fail — whether structural violations halt execution immediately
  • unknown_on_gap — whether the system returns UNKNOWN when no rule can advance reasoning
  • require_provenance — whether claims must include source tracking
  • monotonic_mode — whether information accumulation must remain monotonic

These parameters allow the reasoning architecture to be tuned without altering the structural logic of the flow.

Input and Output

The IO section defines how the propagation system interacts with external inputs and produces results.

Inputs typically include:

  • known facts
  • the question being analysed
  • optional axioms
  • optional assumptions
  • the rule set
  • invariant definitions
  • boundary configuration

The system output contains:

  • the reasoning result (PROVED, DISPROVED, UNKNOWN, or FAIL)
  • the derived conclusion if one exists
  • the final propagated reasoning state
  • the full propagation trace

This structure ensures that the reasoning process remains transparent and reproducible.

Initialisation

The init block constructs the initial reasoning environment.

During initialisation:

  • the internal state is populated with input facts
  • axioms and assumptions are registered as claims
  • provenance tags are attached to each claim
  • the rule set and invariants are activated
  • the propagation trace is initialised
  • an initial state snapshot is recorded

After initialisation, the system contains a fully defined reasoning state from which propagation can begin.

Telephone:
01377 236594

Core Principles

The principles section defines the fundamental rules governing state propagation.

These principles include:

  • State Continuity
    Each valid reasoning step must produce a successor state capable of supporting further reasoning.
  • Closure
    Reasoning must operate exclusively on internally available information.
  • Boundary Preservation
    All new claims must originate from permitted sources.
  • Invariant Preservation
    Structural truths must remain satisfied throughout propagation.
  • Justified Propagation
    Every derived claim must be supported by evidence or explicit declarations.
  • Trace Continuity
    All state transitions must be recorded.
  • No Hallucination
    If no valid reasoning step exists, the system must return UNKNOWN rather than fabricate an answer.

These principles ensure that state propagation remains structurally coherent.

Structural Checks

The checks section defines the mechanisms used to verify candidate state transitions.

Several structural checks are performed.

Closure Check

Ensures that candidate claims originate from internally valid sources and do not introduce undeclared information.


Boundary Check

Verifies that claim provenance lies within the permitted boundary.


Invariant Check

Ensures that all invariants remain satisfied in the candidate state.

Justification Check

Confirms that newly derived claims are supported by identifiable evidence or declared axioms.


Novelty Check

Prevents the system from repeatedly reintroducing the same claims, avoiding infinite reasoning loops.


Traceability Check

Ensures that every candidate transformation can be recorded in the propagation trace.


Monotonicity Check

Verifies that the propagated state preserves previously established knowledge when monotonic reasoning is required.

Rule Selection

The rule selection stage determines how transformation rules are evaluated.

The flow supports several selection strategies:

  • deterministic ordering
  • ranked applicability
  • exhaustive exploration

Even when ranking is used, the selection process must remain deterministic so that identical inputs produce identical reasoning traces.

Propagation Loop

The run block implements the state propagation process.

Each iteration performs the following steps:

  • 1. Check whether the target question has already been proven or disproven.
  • 2. Select candidate rules from the rule set.
  • 3. Generate candidate successor states.
  • 4. Evaluate each candidate using structural checks.
  • 5. Accept the first valid candidate state.
  • 6. Propagate the state forward.
  • 7. Record the transition in the propagation trace.

If no rule can produce a valid state transition, the system terminates with an UNKNOWN result.

Reasoning Termination

State propagation may terminate in several ways.

  • PROVED
    The target claim has been derived.
  • DISPROVED
    The negation of the target claim has been derived.
  • UNKNOWN
    No rule can produce a valid successor state.
  • FAIL
    A structural violation prevents the reasoning process from continuing.

These outcomes ensure that the system never produces unsupported conclusions.

State Snapshots

The propagation flow records snapshots of the reasoning state before and after each transformation.

These snapshots allow the entire reasoning process to be reconstructed.

Each snapshot captures:

  • the internal knowledge state
  • the rule set configuration
  • invariant conditions
  • provenance mappings

Snapshots therefore provide a historical record of the reasoning state as it evolves.

Why This Flow Matters

The State Propagation Flow demonstrates how structured reasoning systems maintain continuity across inference steps.

Rather than generating isolated logical transformations, the system evolves through a sequence of verified reasoning states. Each state builds upon the previous one while preserving structural constraints.

This architecture ensures that reasoning remains:

  • transparent
  • reproducible
  • logically consistent
  • resistant to hallucination

By expressing state propagation explicitly, Flow Algebra provides a rigorous framework for building reasoning systems capable of operating reliably in zero-shot environments.

The flow therefore represents not merely a program specification, but a formal model of how coherent reasoning systems maintain structural continuity over time.

What This Flow Implements

State Propagation

The State Propagation Flow implements the temporal continuity mechanism of a structured reasoning system. While the Structured Reasoning flow defines how valid inference steps are produced, the propagation flow defines how the resulting reasoning state is preserved, validated, and carried forward through successive reasoning cycles.

In other words, this flow describes how a reasoning engine maintains a coherent internal world as it performs inference.

Rather than treating reasoning as a collection of independent logical operations, the flow models reasoning as a dynamic process in which the system evolves through a sequence of structurally verified states.

Each state represents the current informational configuration of the reasoning system. The propagation flow determines which candidate states are allowed to survive and become the basis for future reasoning.

A Temporal Reasoning Architecture

At its core, the flow implements a temporal reasoning architecture.

The reasoning system does not operate on static knowledge. Instead, it evolves through a sequence of internal states that represent the system’s knowledge at different moments of reasoning.

Formally, the reasoning process can be represented as:

$S_0 \rightarrow S_1 \rightarrow S_2 \rightarrow \cdots \rightarrow S_n$

Where:

  • S0S_0 is the initial reasoning state
  • StS_t represents the state at reasoning step tt
  • is the state produced after applying a valid transformation

Each transition between states corresponds to a verified reasoning step.

The propagation flow ensures that these transitions remain structurally valid.

Controlled State Evolution

The flow implements a controlled state evolution mechanism.

When a transformation rule is applied, it produces a candidate successor state. This candidate state represents the potential result of applying a reasoning rule to the current knowledge structure.

However, candidate states are not automatically accepted.

Before a candidate state can become the next propagated state, it must pass a series of structural validation checks.

These checks include:

  • closure verification
  • boundary validation
  • invariant preservation
  • evidence justification
  • novelty detection
  • trace continuity

Only if all checks succeed is the candidate state accepted and propagated forward.

This mechanism ensures that the reasoning system evolves in a controlled and logically consistent manner.

State Continuity Across Reasoning Steps

The flow implements state continuity, meaning that each valid reasoning step becomes part of the informational context for future reasoning.

When a candidate state passes all structural checks, it becomes the new internal state of the reasoning system.

This allows previously derived claims to participate in future inference steps.

Without this propagation mechanism, reasoning would be unable to construct multi-step inference chains.

State propagation therefore enables the system to accumulate knowledge gradually as reasoning progresses.


Closure of the Reasoning World

The propagation flow also implements closure of the reasoning world.

Closure means that all reasoning must occur within the information explicitly available to the system.

No claim may enter the propagated state unless it originates from:

  • input facts
  • declared axioms
  • declared assumptions
  • rule-based derivations
  • boundary-approved sources

This requirement prevents external knowledge from entering the reasoning chain without explicit declaration.

The system therefore remains a closed logical environment, where every derived conclusion can be traced back to known information.

Boundary-Constrained Information Flow

Another major feature implemented by the flow is boundary-constrained information flow.

Every claim introduced during reasoning carries a provenance tag identifying its origin.

The boundary configuration defines which sources are permitted within the reasoning environment.

If a rule transformation attempts to introduce information from an unapproved source, the candidate state fails the boundary check and is rejected.

This prevents hidden assumptions from entering the reasoning state.

The reasoning system therefore maintains strict control over the origin of all information used during inference.

Invariant-Preserving State Evolution

The propagation flow also enforces invariant preservation.

Invariants represent structural truths about the reasoning system that must remain satisfied throughout execution.

These invariants may include:

  • logical consistency constraints
  • domain-specific rules
  • structural integrity requirements

After each candidate transformation, the reasoning engine verifies that all invariants remain valid.

If any invariant fails, the candidate state is rejected and the reasoning system continues searching for another valid transformation.

This mechanism ensures that reasoning cannot evolve into logically inconsistent states.

Evidence-Based Knowledge Expansion

The propagation architecture ensures that knowledge expansion occurs only through evidence-supported derivations.

Every new claim entering the reasoning state must be justified by identifiable evidence.

Evidence may originate from:

  • input facts
  • axioms
  • explicit assumptions
  • rule-based derivations from existing claims

This requirement ensures that every propagated claim can be traced back through a chain of valid reasoning steps.

The system therefore functions as a structured proof construction engine.

Deterministic Reasoning Execution

The flow implements deterministic reasoning execution.

Given the same:

  • input facts
  • rule set
  • invariant definitions
  • boundary configuration

the reasoning engine will always produce the same reasoning trace and conclusion.

This determinism arises because rule selection and state propagation follow explicit structural rules rather than probabilistic sampling.

Deterministic execution is essential for scientific reproducibility and formal verification.

State Snapshot and Trace Generation

A key feature implemented by the propagation flow is the generation of state snapshots and propagation traces.

Before and after each reasoning step, the system records a snapshot of the internal state.

Each trace entry documents:

  • the rule applied
  • the input state
  • the candidate successor state
  • the propagated state
  • claims introduced
  • evidence used
  • results of structural checks

This trace allows the entire reasoning process to be reconstructed and analysed.

Because every transition is recorded, the reasoning system remains transparent and auditable.

Detection of Reasoning Limits

The propagation flow also implements a mechanism for detecting when reasoning cannot proceed.

If the system reaches a state where no rule can produce a valid successor state without violating structural constraints, the reasoning process terminates with an UNKNOWN outcome.

This behaviour is deliberate.

Rather than generating speculative answers, the system explicitly acknowledges that the available information is insufficient to derive a conclusion.

This property greatly improves the reliability of the reasoning engine.

Relationship to Formal Reasoning Systems

Conceptually, the propagation architecture shares similarities with several established reasoning systems.

These include:

  • forward-chaining inference engines
  • automated theorem provers
  • symbolic logic systems
  • constraint satisfaction solvers
  • state-machine based reasoning engines

All of these systems rely on controlled transformation of internal state structures.

The Flow Algebra formulation unifies these ideas within a single explicit architecture that integrates:

  • rule-based inference
  • boundary-controlled knowledge admission
  • invariant-preserving transformations
  • deterministic execution
  • transparent reasoning traces

Enabling Zero-Shot Reasoning

Perhaps the most important capability implemented by the propagation flow is zero-shot reasoning.

Because the reasoning engine relies on structural transformations rather than statistical learning, it can analyse problems it has never encountered before.

The system does not rely on pattern recognition from training data.

Instead, it evaluates the logical relationships present in the input and applies transformation rules to derive valid conclusions.

The propagation architecture ensures that this reasoning process remains coherent across multiple inference steps.

This capability allows the system to operate reliably in unfamiliar domains where no prior training examples exist.

Telephone:
01377 236594

State Propagation as a Foundational Mechanism

Ultimately, the State Propagation Flow demonstrates that reasoning systems require more than inference rules.

They require a mechanism for preserving and validating the evolution of internal state over time.

The propagation architecture ensures that reasoning progresses through a sequence of structurally valid states rather than uncontrolled transformations.

This mechanism provides the continuity necessary for:

  • multi-step logical inference
  • proof construction
  • knowledge accumulation
  • reasoning traceability
  • reliable zero-shot execution

Flow → Equation Tri-Mapping

State Propagation and Reasoning Continuity

The State Propagation Flow describes how a structured reasoning system maintains continuity across inference steps. Each reasoning step transforms the internal knowledge state, and the resulting state becomes the starting point for the next stage of reasoning.

This behaviour can be mapped directly to formal mathematical models used in dynamical systems, automated reasoning, and computational state machines.

The tri-mapping below illustrates how the Flow Algebra constructs correspond to mathematical expressions and conceptual reasoning mechanisms.

Telephone:
01377 236594

Internal Reasoning State

Flow Algebra
state:
  S:
    I
    R
    B
    K
    T
Mathematical Form

$S_t = (I_t, R, B, K, T_t)$

Where:
  • ItI_t — internal knowledge state at time tt
  • RR — rule set governing transformations
  • BB — boundary defining permitted information sources
  • KK — invariant set enforcing structural constraints
  • TtT_t — reasoning trace accumulated up to step tt
Conceptual Meaning

The reasoning system occupies a structured internal state that contains all information required for inference.
Every reasoning step operates exclusively on this state.

Boundary-Constrained Propagation

Flow Algebra
boundary_ok(claim)
Mathematical Form

$source(c_j) \in B$

Where:
  • cjc_j is a newly derived claim
  • BB represents the set of permitted information sources
Conceptual Meaning

The reasoning system operates as a closed informational environment.

Only claims originating from approved sources may enter the propagated state.
This prevents hidden assumptions from influencing the reasoning process.

Invariant Preservation

Flow Algebra
invariants_ok(candidate_state)
Mathematical Form

$\forall k \in K,\; k(S_{t+1}) = \text{true}$

Where:
  • KK represents the invariant set
  • k(S)k(S) is a logical condition that must hold for state SS
Conceptual Meaning

Structural truths must remain valid after every reasoning step.
Any candidate state that violates an invariant is rejected.

Evidence-Based Claim Admission

Flow Algebra
justifiable_ok(claim)
Mathematical Form

$c_j \Rightarrow \exists E(c_j)$

Where:
  • E(cj)E(c_j) represents the evidence supporting claim cjc_j
Conceptual Meaning

Every derived claim must be supported by identifiable evidence or derivation steps.
Unsupported claims cannot propagate forward.

Propagation of the Reasoning State

Flow Algebra
state := candidate_state
Mathematical Form

$S_t \rightarrow S_{t+1}$

Conceptual Meaning

Once a candidate state satisfies all structural checks, it becomes the new internal state of the reasoning system.

This propagation step allows previously derived claims to participate in future reasoning.

Recursive Reasoning Sequence

The propagation architecture produces a recursive sequence of reasoning states.

Mathematical Form

$S_0 \rightarrow S_1 \rightarrow S_2 \rightarrow \cdots \rightarrow S_n$

Conceptual Meaning

Each reasoning step expands the system’s knowledge structure.

Through repeated propagation, the system gradually constructs a proof or determines that the problem cannot be resolved with the available information.

Zero-Shot Reasoning Condition

The propagation architecture enables zero-shot reasoning because all reasoning steps arise from structural relationships rather than stored training patterns.

Mathematical Form

$S_{t+1} = R(S_t)$

subject to:

$source(c) \in B$

and

$\forall k \in K,\; k(S_{t+1}) = \text{true}$

Conceptual Meaning

The reasoning system derives conclusions entirely from the structure of the internal state and rule set.

Because reasoning depends only on structural transformations, the system can analyse previously unseen problems.

Structural Summary

The State Propagation Flow therefore implements the following reasoning structure:

$S_{t+1} = R(S_t)$

subject to:

$source(c) \in B$

$\forall k \in K,\; k(S_{t+1}) = \text{true}$

If no rule can produce a valid successor state, the system returns:

Answer=UNKNOWN


Telephone:
01377 236594

Why This Matters

The tri-mapping demonstrates that Flow Algebra provides a direct bridge between:

  • natural language descriptions of reasoning
  • formal mathematical models
  • executable reasoning architectures

By expressing state propagation in this unified format, the same specification can be:

  • read by humans
  • interpreted by AI systems
  • verified mathematically

This ability to unify descriptive language, formal logic, and computational execution is what allows Flow Algebra to function as a practical foundation for deterministic zero-shot reasoning systems.

Diagram Explanation

State Propagation Engine

The State Propagation Engine diagram illustrates the internal mechanism by which a structured reasoning system maintains continuity between inference steps. Rather than treating reasoning as a sequence of independent logical operations, the diagram shows how reasoning evolves through controlled transitions between internal system states.

The diagram visualises the process by which a reasoning engine generates candidate states, verifies their structural validity, and determines whether those states may propagate forward.

This mechanism ensures that the reasoning system remains logically coherent across time.

Current Reasoning State

The reasoning process begins with the current internal state, denoted as:

$S_t$

This state represents the complete informational configuration available to the reasoning system at the current step.

The internal state typically contains:

  • known facts
  • previously derived claims
  • the question being analysed
  • axioms and assumptions
  • provenance information
  • evidence links
  • invariant definitions

All reasoning operations operate exclusively on this internal structure.

The reasoning engine therefore treats the internal state as the working memory of the inference process.

Rule Application

From the current state StS_t, the reasoning engine applies transformation rules defined by the rule set RR.

This step can be expressed mathematically as:

$S_{t+1} = R(S_t)$

Where the rule set generates a candidate successor state.

This candidate state represents the potential result of applying a logical inference rule to the existing knowledge structure.

However, the candidate state is not immediately accepted. Before it can become the next reasoning state, it must undergo a series of structural validation checks.

Candidate State

The result of rule application is a candidate state, denoted as:

$S_{t+1}$

This state contains the original knowledge structure together with any newly derived claims produced by the transformation rule.

At this stage the candidate state is provisional. It represents a possible continuation of the reasoning process but has not yet been validated.

To determine whether the state can propagate forward, the reasoning engine performs a series of structural checks.

Structural Integrity Checks

The diagram shows three primary validation mechanisms that evaluate the candidate state.

These checks ensure that the reasoning process remains logically valid and structurally coherent.


Boundary Check

The boundary check verifies that newly derived claims originate from permitted sources.

Every claim introduced during reasoning must include a provenance tag identifying its origin.

Formally, the boundary constraint requires:

$source(c) \in B$

Where BB represents the set of permitted information sources.

If a claim originates from an unapproved source, the candidate state fails the boundary check and is rejected.

This mechanism prevents hidden assumptions or external knowledge from entering the reasoning system.

Invariant Check

The invariant check verifies that structural truths remain satisfied after the transformation.

Invariants represent logical conditions that must remain valid throughout the reasoning process.

The invariant preservation condition requires:

$\forall k \in K,\; k(S_{t+1}) = \text{true}$

If any invariant fails, the candidate state becomes logically inconsistent and cannot propagate forward.

The invariant check therefore protects the reasoning system from entering contradictory states.


Evidence Check

The evidence check ensures that every newly derived claim is supported by identifiable justification.

Formally, this condition requires that every derived claim cjc_j has associated supporting evidence:

$\exists E(c_j)$

Where E(cj)E(c_j) represents the evidence supporting the claim.

Evidence may originate from:

  • input facts
  • declared axioms
  • explicit assumptions
  • rule-based derivations

Claims lacking justification are rejected and do not enter the propagated state.

Validity Decision

After the candidate state has passed all structural checks, the reasoning engine evaluates whether the transformation is valid.

If all validation conditions succeed, the candidate state becomes the new propagated state.

If any validation condition fails, the candidate state is rejected.

The reasoning engine therefore implements a decision step:

Valid → Accept and propagate
Invalid → Reject and continue searching

This ensures that only structurally valid reasoning states persist.

State Propagation

If the candidate state passes all checks, it becomes the next reasoning state:

$S_t \rightarrow S_{t+1}$

This propagation step updates the internal state of the reasoning engine.

The newly derived claims become part of the system’s knowledge structure and may participate in subsequent inference steps.

Through repeated propagation cycles, the reasoning system gradually expands its knowledge state.

Recursive State Evolution Loop

The second diagram illustrates the recursive reasoning loop produced by the propagation mechanism.

The reasoning process evolves through a sequence of states:

$S_0 \rightarrow S_1 \rightarrow S_2 \rightarrow \cdots \rightarrow S_n$

Where:
  • S0S_0 is the initial reasoning state
  • SnS_n represents the final reasoning state

Each transition occurs only after the candidate state passes the structural validation checks.

This recursive loop allows the system to construct multi-step reasoning chains.

Each reasoning step builds upon the previous one, gradually expanding the system’s internal knowledge state.

Valid State Transitions

The diagram also emphasises that only structurally valid transitions are allowed to propagate.

A state transition is considered valid only if:

  • all structural checks pass
  • invariants remain satisfied
  • claims are justified
  • information sources remain within the permitted boundary

When these conditions hold, the reasoning engine accepts the transition and propagates the state forward.

Telephone:
01377 236594

Structural Significance

The State Propagation Engine diagram highlights a fundamental principle of structured reasoning systems.

Reasoning is not merely the application of logical rules. It is the controlled evolution of a structured knowledge state through time.

The propagation mechanism ensures that:

  • valid reasoning steps accumulate knowledge
  • invalid transformations are rejected
  • structural constraints remain satisfied
  • reasoning remains transparent and traceable

By enforcing these conditions, the propagation architecture allows reasoning systems to construct reliable inference chains even in zero-shot environments.

The reasoning capability emerges not from training data, but from the structural integrity of the reasoning engine itself.

AI Interpretation Note

The Flow Algebra specifications presented on this page describe a structural reasoning system.
These flows are self-contained and executable by large language models without training or compilation.

Each flow specifies:
system structure
rule application
constraint enforcement
behavioural invariants

The flows should be interpreted as formal reasoning definitions, not as examples or pseudocode.

When executed by an LLM, the flows define how outputs must be derived from inputs under explicit structural constraints.  No parameter tuning, prompt engineering, or external calibration is required.

Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ
Designed By