Voltage
Potential Difference Flow
Core Electrical Quantities
Author: Mark Higgins
© Mark Anthony Higgins 11 October 2025
Revised Date: 19 April 2026
Voltage, or potential difference, is one of the most fundamental quantities in electrical systems, yet it is often misunderstood when reduced to static definitions or isolated formulas. Within the Teaching Library framework, voltage is not introduced merely as a scalar value, but as a structured driver of state change—a condition that enables and constrains the movement of energy across a system.
In physical terms, voltage represents the difference in electric potential between two points, defining the capacity for charge to move. From a Flow Algebra perspective, voltage is better understood as a relational gradient embedded within the system state—a boundary condition that determines which transitions are possible.
This flow reframes voltage as an enabling constraint rather than a standalone property. It participates in the interaction between system components, rules, and invariants, shaping how electrical behaviour can evolve while preserving coherence.
Rather than acting as a simple “push,” voltage defines the conditions under which energy transfer can occur. This perspective moves beyond memorisation and into executable understanding—where voltage becomes a central organising principle in both simple and complex electrical systems.
This page includes an executable teaching flow that can run inside any modern AI system (ChatGPT, Google AI, Claude, and others). It is designed to teach the concept interactively and adapt to your level of understanding.
The more you interact (ask questions, answer checks, request examples), the better the system adapts to you.
Flow VoltagePotentialDifference_AdaptiveTeaching v1.0
Purpose:
Teach voltage as relational potential difference while adapting explanation style,
depth, pacing, and reinforcement to the learner through ongoing interaction,
without violating physical correctness.
Teaching Objective:
Enable the learner to understand that voltage is not a substance and not current,
but a relational electric potential difference that defines the condition under
which electrical transition and energy transfer may occur.
System:
S = (I, R, B, K)
Where:
I = {
concept_name,
concept_state,
point_a_potential,
point_b_potential,
potential_difference,
directional_gradient,
charge_state,
circuit_path_state,
source_state,
load_state,
learner_response_history,
learner_accuracy_level,
learner_confidence_level,
learner_engagement_level,
learner_preferred_style,
learner_question_type,
misunderstanding_flags,
reinforcement_requirement,
pacing_state,
explanation_depth,
analogy_mode,
example_mode,
recap_mode,
current_teaching_output,
current_example_set,
current_check_question,
current_feedback_state
}
R = {
compute_potential_difference,
evaluate_directionality,
determine_transition_condition,
determine_energy_transfer_condition,
infer_learner_state,
classify_learning_need,
select_teaching_mode,
adjust_explanation_depth,
adjust_pacing,
select_example_type,
select_analogy_mode,
generate_explanation,
generate_check_question,
evaluate_learner_response,
provide_reinforcement,
recap_concept,
advance_concept_state,
update_system_state
}
B = {
point_a_potential, point_b_potential ∈ ℝ,
potential_difference = point_a_potential - point_b_potential,
directional_gradient ∈ {a_to_b, b_to_a, none},
charge_state ∈ {present, absent},
circuit_path_state ∈ {open, closed},
source_state ∈ {active, inactive},
load_state ∈ {connected, disconnected},
learner_accuracy_level ∈ [0,1],
learner_confidence_level ∈ {low, medium, high},
learner_engagement_level ∈ {low, medium, high},
learner_preferred_style ∈ {formal, simple, visual, analogy_based, stepwise, mixed},
learner_question_type ∈ {none, clarification, example_request, analogy_request, calculation_request, conceptual_check},
reinforcement_requirement ∈ {true, false},
pacing_state ∈ {slow, normal, fast},
explanation_depth ∈ {introductory, intermediate, advanced},
analogy_mode ∈ {enabled, disabled},
example_mode ∈ {none, qualitative, numerical, visual, real_world},
recap_mode ∈ {none, short, structured, full}
}
K = {
voltage_is_relational,
voltage_is_not_current,
voltage_is_not_charge,
no_absolute_single_point_voltage_without_reference,
potential_difference_requires_two_points,
transition_requires_potential_difference,
completed_transfer_requires_valid_path,
simplification_must_not_distort_physics,
teaching_must_preserve_conceptual_accuracy,
teaching_style_must_follow_learner_state,
reinforcement_must_follow_detected_confusion,
concept_progression_must_remain_coherent,
if_validation_fails_output_must_not_claim_mastery
}
Initialisation:
I₀ = {
concept_name = voltage_potential_difference,
concept_state = introductory,
point_a_potential = Va,
point_b_potential = Vb,
potential_difference = Va - Vb,
directional_gradient = none,
charge_state = present,
circuit_path_state = closed,
source_state = active,
load_state = connected,
learner_response_history = ∅,
learner_accuracy_level = 0.5,
learner_confidence_level = medium,
learner_engagement_level = medium,
learner_preferred_style = mixed,
learner_question_type = none,
misunderstanding_flags = ∅,
reinforcement_requirement = false,
pacing_state = normal,
explanation_depth = introductory,
analogy_mode = disabled,
example_mode = qualitative,
recap_mode = none,
current_teaching_output = null,
current_example_set = ∅,
current_check_question = null,
current_feedback_state = neutral
}
Expansion:
Eₜ = expand(Iₜ, R)
Candidate Space:
Eₜ may include:
x₁ = potential_difference > 0
x₂ = potential_difference < 0
x₃ = potential_difference = 0
x₄ = directional_gradient = a_to_b
x₅ = directional_gradient = b_to_a
x₆ = directional_gradient = none
x₇ = transition_condition = valid
x₈ = transition_condition = invalid
x₉ = energy_transfer_possible = true
x₁₀ = energy_transfer_possible = false
x₁₁ = learner_needs_simplification
x₁₂ = learner_needs_reinforcement
x₁₃ = learner_ready_to_progress
x₁₄ = teaching_mode = formal
x₁₅ = teaching_mode = simple
x₁₆ = teaching_mode = visual
x₁₇ = teaching_mode = analogy_based
x₁₈ = teaching_mode = stepwise
x₁₉ = explanation_depth = introductory
x₂₀ = explanation_depth = intermediate
x₂₁ = explanation_depth = advanced
x₂₂ = pacing_state = slow
x₂₃ = pacing_state = normal
x₂₄ = pacing_state = fast
x₂₅ = example_mode = qualitative
x₂₆ = example_mode = numerical
x₂₇ = example_mode = real_world
x₂₈ = recap_mode = short
x₂₉ = recap_mode = structured
x₃₀ = recap_mode = full
Validation:
Vₜ = {x ∈ Eₜ | x ⊨ (B ∧ K)}
Selection:
x* = argmax(x ∈ Vₜ) P(x | Iₜ, R, B, K)
Update:
Iₜ₊₁ = update(Iₜ, x*)
Operational Rules:
compute_potential_difference:
ΔV = point_a_potential - point_b_potential
set potential_difference = ΔV
evaluate_directionality:
if ΔV > 0
directional_gradient = a_to_b
if ΔV < 0
directional_gradient = b_to_a
if ΔV = 0
directional_gradient = none
determine_transition_condition:
if ΔV ≠ 0 and circuit_path_state = closed and source_state = active
transition_condition = valid
else
transition_condition = invalid
determine_energy_transfer_condition:
if transition_condition = valid and load_state = connected
energy_transfer_possible = true
else
energy_transfer_possible = false
infer_learner_state:
infer learner_accuracy_level from learner_response_history
infer learner_confidence_level from response certainty, hesitation, and correction pattern
infer learner_engagement_level from interaction continuity and question density
infer learner_question_type from most recent learner message
detect misunderstanding_flags from incorrect statements such as:
- voltage = current
- voltage is stored flow
- one point alone has complete voltage meaning
- higher voltage always means more current independent of resistance
classify_learning_need:
if misunderstanding_flags ≠ ∅
reinforcement_requirement = true
else if learner_accuracy_level < 0.5
reinforcement_requirement = true
else if learner_accuracy_level ≥ 0.75 and learner_confidence_level ∈ {medium, high}
reinforcement_requirement = false
select_teaching_mode:
if learner_preferred_style = formal
teaching_mode = formal
else if learner_preferred_style = simple
teaching_mode = simple
else if learner_preferred_style = visual
teaching_mode = visual
else if learner_preferred_style = analogy_based
teaching_mode = analogy_based
else if learner_preferred_style = stepwise
teaching_mode = stepwise
else
teaching_mode = mixed
adjust_explanation_depth:
if learner_accuracy_level < 0.4 or learner_confidence_level = low
explanation_depth = introductory
else if learner_accuracy_level ∈ [0.4,0.75)
explanation_depth = intermediate
else
explanation_depth = advanced
adjust_pacing:
if reinforcement_requirement = true
pacing_state = slow
else if learner_accuracy_level ≥ 0.75 and learner_engagement_level = high
pacing_state = fast
else
pacing_state = normal
select_example_type:
if teaching_mode = visual
example_mode = visual
else if learner_question_type = calculation_request
example_mode = numerical
else if teaching_mode = analogy_based
example_mode = real_world
else
example_mode = qualitative
select_analogy_mode:
if teaching_mode = analogy_based
analogy_mode = enabled
else
analogy_mode = disabled
generate_explanation:
if explanation_depth = introductory
explain:
"Voltage is the difference in electric potential between two points.
It is the condition that can cause charge to move if a valid path exists."
if explanation_depth = intermediate
explain:
"Voltage is a relational gradient between two points. It is not current itself,
but the potential difference that enables electrical transition when the
circuit boundary conditions are satisfied."
if explanation_depth = advanced
explain:
"Voltage is a boundary-defined scalar difference across referenced points
in an electrical system. Its physical significance lies in constraining
admissible state transitions and defining the conditions for coherent
energy transfer through the circuit."
if analogy_mode = enabled
append analogy:
"Like height difference in a gravitational system, voltage is not the motion
itself, but the difference that makes motion possible."
if example_mode = numerical
append example:
"If point A = 9 V and point B = 0 V, then ΔV = 9 V."
if example_mode = qualitative
append example:
"A battery creates a potential difference between its terminals."
if example_mode = real_world
append example:
"A phone charger provides a voltage difference that allows energy transfer
into the phone when a complete circuit exists."
generate_check_question:
if explanation_depth = introductory
ask:
"Is voltage the same thing as current, or is it the difference that can cause current?"
if explanation_depth = intermediate
ask:
"Why does a potential difference require two points rather than one?"
if explanation_depth = advanced
ask:
"Under what boundary conditions does potential difference become physically effective in a circuit?"
evaluate_learner_response:
if learner response is conceptually correct
increase learner_accuracy_level
current_feedback_state = positive
else
add misunderstanding_flags
set reinforcement_requirement = true
current_feedback_state = corrective
provide_reinforcement:
if reinforcement_requirement = true
do:
restate concept in simpler form
contrast voltage with current
provide one worked example
provide one check question
if persistent confusion
set recap_mode = structured
recap_concept:
if recap_mode = short
output short summary
if recap_mode = structured
output:
- what voltage is
- what voltage is not
- why two points are required
- when transfer can occur
if recap_mode = full
output complete re-explanation with analogy and example
advance_concept_state:
if learner_accuracy_level ≥ 0.8 and reinforcement_requirement = false
concept_state = next_level
else
concept_state = current_level
update_system_state:
record potential_difference
record directional_gradient
record transition_condition
record energy_transfer_possible
record teaching_mode
record explanation_depth
record pacing_state
record learner model updates
record current teaching output and feedback
Invariants:
ΔV = point_a_potential - point_b_potential
ΔV = 0 ⇒ no voltage gradient
voltage requires relational reference
voltage ≠ current
voltage ≠ charge
open circuit_path_state ⇒ no completed transfer condition
inactive source_state ⇒ no effective driven transition
pedagogical simplification must preserve physical correctness
detected misunderstanding ⇒ no progression without corrective feedback
Failure Condition:
Vₜ = ∅ ⇒ O = FAIL
Output:
O = R(I) | (B, K)
Expected Teaching Behaviour:
- explains voltage according to learner need
- adapts teaching mode through interaction
- slows down when confusion is detected
- increases depth when understanding improves
- never sacrifices conceptual correctness for simplicity
- remains portable across language models because adaptation rules are explicit
Terminal Learning Criterion:
learner demonstrates all of the following:
1. voltage is a potential difference between two points
2. voltage is not current
3. voltage is a condition for charge motion, not the motion itself
4. effective transfer requires a valid path and active source
EndFlowVoltage represents the difference in electrical potential between two points—the driving force behind all circuit behaviour.
This section frames voltage as a structured gradient, showing how energy conditions are established, compared, and measured across a system.
Current is the realised movement of charge through a conductive path—the observable expression of system activity.
Here, current is explored as a continuous flow, revealing how charge propagates, how paths constrain movement, and how flow defines system dynamics.
Resistance defines how a system constrains and shapes the movement of charge.
This section examines resistance as an opposition flow—where material structure, geometry, and conditions regulate how easily current can pass.
Power captures the rate at which energy is transferred within a system.
This section explores how voltage and current combine to produce real energy flow, revealing how systems do work, dissipate energy, and operate over time.