Skip to main content

Curl Ontology

Vector Calculus
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
flow "CurlOntology" v1.0

# ============================================================
# CURL ONTOLOGY — FLOW ALGEBRA
# ============================================================

SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/vector-calculus/curl-ontology.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Vector Calculus"
ENTITY := "Curl"

# ---------- CORE ENTITY ----------
CURL := {
    type: VectorDifferentialOperatorResult,
    domain: VectorCalculus,
    purpose: "Measure the local rotational tendency and infinitesimal circulation density of a differentiable vector field in three-dimensional Euclidean space."
}

# ---------- CORE CONCEPTS ----------
CONCEPTS := {
    VECTOR_FIELD,
    CURL,
    NABLA_OPERATOR,
    PARTIAL_DERIVATIVE,
    ROTATION,
    CIRCULATION,
    VORTICITY,
    IRROTATIONAL_FIELD,
    CONSERVATIVE_FIELD,
    STOKES_THEOREM,
    LINE_INTEGRAL,
    SURFACE_INTEGRAL,
    CROSS_PRODUCT
}

# ---------- VECTOR FIELD ----------
VECTOR_FIELD
    := F: R^3 -> R^3

F(x,y,z)
    := (
        P(x,y,z),
        Q(x,y,z),
        R(x,y,z)
    )

CURL
    -> operates_on(THREE_DIMENSIONAL_VECTOR_FIELD)
       in(STANDARD_CROSS_PRODUCT_FORM)

# ---------- NABLA CROSS FORM ----------
NABLA
    := ∇

CURL(F)
    := ∇ cross F

CURL(F)
    = (
        partial_R/partial_y - partial_Q/partial_z,
        partial_P/partial_z - partial_R/partial_x,
        partial_Q/partial_x - partial_P/partial_y
      )

CURL
    -> produces(VECTOR_FIELD)

# ---------- DETERMINANT MNEMONIC ----------
CURL(F)
    -> may_be_remembered_using(FORMAL_DETERMINANT_MNEMONIC)

FORMAL_STRUCTURE:
    | e_x   e_y   e_z |
    | d/dx  d/dy  d/dz |
    | P     Q     R |

DETERMINANT_MNEMONIC
    -> computational_aid
    -/> literal_determinant_of_ordinary_numeric_matrix

# ---------- LOCAL ROTATION ----------
CURL(F)(p)
    -> measures(LOCAL_ROTATIONAL_TENDENCY)

CURL_DIRECTION
    -> local_axis_of_rotation
       under(RIGHT_HAND_ORIENTATION)

CURL_MAGNITUDE
    -> proportional_to(LOCAL_CIRCULATION_DENSITY)

# ---------- CIRCULATION LIMIT ----------
for small oriented surface S
with boundary C:

normal_component_of(CURL)
    := limit(
        circulation_around(C)
        / area(S),
        S shrinks_to point
    )

CIRCULATION
    := line_integral_C(
        F dot dr
    )

CURL
    -> localises(CIRCULATION)

# ---------- IRROTATIONAL FIELD ----------
IRROTATIONAL_FIELD
    := vector_field F
       such_that
       CURL(F) = ZERO_VECTOR

IRROTATIONAL
    ~= CURL_FREE

CURL_ZERO
    -> indicates(NO_LOCAL_ROTATION)
       in(STANDARD_VECTOR_CALCULUS_INTERPRETATION)

# ---------- CONSERVATIVE FIELD ----------
if
    F = GRADIENT(phi)
    AND phi sufficiently_smooth
then

CURL(F)
    = ZERO_VECTOR

CONSERVATIVE_FIELD
    -> implies(IRROTATIONAL)
       under(REQUIRED_SMOOTHNESS)

IRROTATIONAL
    -/> necessarily_implies(GLOBAL_CONSERVATIVE_FIELD)
       without(APPROPRIATE_DOMAIN_TOPOLOGY)

# ---------- STOKES THEOREM ----------
if
    S oriented_surface
    AND C = boundary(S)
    AND orientations_are_compatible
then

line_integral_C(
    F dot dr
)
    =
surface_integral_S(
    CURL(F) dot n_hat dS
)

STOKES_THEOREM
    -> connects(LOCAL_CURL, GLOBAL_BOUNDARY_CIRCULATION)

# ---------- VORTICITY ----------
if
    v
        := fluid_velocity_field
then

VORTICITY
    := CURL(v)

VORTICITY
    -> measures(LOCAL_FLUID_ROTATION)

ANGULAR_VELOCITY_OF_SMALL_FLUID_ELEMENT
    -> approximately(1/2 * VORTICITY)
       under(STANDARD_CONTINUUM_INTERPRETATION)

# ---------- ELECTROMAGNETISM ----------
FARADAY_LAW_DIFFERENTIAL_FORM:

CURL(E)
    = -partial_B/partial_t

AMPERE_MAXWELL_LAW:

CURL(B)
    = mu_0*J
      + mu_0*epsilon_0*partial_E/partial_t

CURL
    -> central_to(MAXWELL_EQUATIONS)

# ---------- DIVERGENCE OF CURL ----------
under sufficient smoothness:

DIVERGENCE(CURL(F))
    = 0

CURL_FIELD
    -> automatically(DIVERGENCE_FREE)
       locally_under(SMOOTHNESS)

# ---------- CURL OF GRADIENT ----------
under sufficient smoothness:

CURL(GRADIENT(phi))
    = ZERO_VECTOR

GRADIENT_FIELD
    -> automatically(IRROTATIONAL)
       locally_under(SMOOTHNESS)

# ---------- PRODUCT RULE ----------
for scalar field phi
and vector field F:

CURL(phi*F)
    = GRADIENT(phi) cross F
      + phi*CURL(F)

CURL_PRODUCT_RULE
    -> vector_calculus_product_identity

# ---------- CROSS-PRODUCT IDENTITY ----------
for vector fields A,B:

CURL(A cross B)
    -> expressible_using(
        DIVERGENCE,
        DIRECTIONAL_DERIVATIVES,
        FIELD_GRADIENTS
    )

VECTOR_IDENTITIES
    -> require(CONSISTENT_COORDINATE_AND_SMOOTHNESS_CONTEXT)

# ---------- COORDINATE SYSTEMS ----------
CURL
    -> geometric_operator

CARTESIAN_COMPONENT_FORM
    -> given_by(STANDARD_PARTIAL_DERIVATIVE_FORMULA)

CURVILINEAR_COORDINATES
    -> require(SCALE_FACTORS_OR_METRIC_STRUCTURE)

COORDINATE_FORMULA
    -> must_match(COORDINATE_SYSTEM)

# ---------- TWO-DIMENSIONAL RELATION ----------
for planar field
    F = (P(x,y), Q(x,y))

SCALAR_PLANAR_CURL
    := partial_Q/partial_x
       - partial_P/partial_y

PLANAR_CURL
    -> corresponds_to(z_component_of_3D_CURL)
       after(EMBEDDING_IN_R3)

GREEN_THEOREM
    -> integrates(PLANAR_CURL_OVER_REGION)
    -> relates_to(BOUNDARY_CIRCULATION)

# ---------- APPLICATIONS ----------
CURL
    -> applied_to(FLUID_DYNAMICS)
    -> applied_to(ELECTROMAGNETISM)
    -> applied_to(CONTINUUM_MECHANICS)
    -> applied_to(VORTEX_ANALYSIS)
    -> applied_to(PARTIAL_DIFFERENTIAL_EQUATIONS)
    -> applied_to(VECTOR_POTENTIALS)

# ---------- RELATION GRAPH ----------
VECTOR_FIELD
    -> acted_on_by(CURL_OPERATOR)

CURL
    -> produces(VECTOR_FIELD)

CURL
    -> localises(CIRCULATION)

CURL_ZERO
    -> defines(IRROTATIONAL_FIELD)

GRADIENT_FIELD
    -> has(ZERO_CURL)
       under(SMOOTHNESS)

STOKES_THEOREM
    -> integrates(CURL_OVER_SURFACE)
    -> equates_to(BOUNDARY_CIRCULATION)

CURL_FIELD
    -> has(ZERO_DIVERGENCE)
       under(SMOOTHNESS)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
    "curl" ~= "vector measure of local rotational tendency in three-dimensional vector calculus",
    "rot" ~= "curl operator in some mathematical traditions",
    "nabla cross F" ~= "curl of F",
    "curl-free" ~= "irrotational",
    "vorticity" ~= "curl of a fluid velocity field",
    "planar curl" ~= "scalar z-component of the embedded three-dimensional curl"
}

# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
    standard_cross_product_curl_is_three_dimensional: true,
    curl_output_is_vector_field_in_R3: true,
    component_formula_depends_on_coordinate_system: true,
    conservative_field_implies_curl_free_under_smoothness: true,
    curl_free_does_not_guarantee_global_conservative_field_without_domain_conditions: true,
    stokes_theorem_requires_compatible_orientation: true,
    divergence_of_curl_identity_requires_sufficient_smoothness: true
}

# ---------- CONFIDENCE ----------
CONFIDENCE := {
    core_definition: 0.99,
    component_formula: 0.99,
    circulation_relation: 0.99,
    conservative_field_relation: 0.99,
    stokes_theorem_relation: 0.99,
    vorticity_relation: 0.99,
    semantic_equivalence: 0.97
}

# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
    identify(vector_field)
    -> determine(domain_and_dimension)
    -> identify(coordinate_system)
    -> verify(required_differentiability)
    -> compute(component_partial_derivatives)
    -> apply(coordinate_appropriate_curl_formula)
    -> classify(irrotational_or_rotational_behaviour_if_requested)
    -> analyse(conservative_field_conditions_if_relevant)
    -> connect_to(circulation_or_vorticity_if_relevant)
    -> apply(stokes_theorem_if_valid)
    -> validate(orientation_domain_and_smoothness)
    -> interpret(geometric_or_physical_meaning)
    -> return(semantic_result)

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
    parse_as: "typed curl semantic graph",
    primary_entity: CURL,
    preserve: [
        vector_field,
        coordinate_system,
        orientation,
        component_functions,
        differentiability,
        domain_topology
    ],
    infer_through: [
        circulation,
        irrotational_fields,
        conservative_fields,
        stokes_theorem,
        vorticity,
        green_theorem,
        vector_identities
    ],
    avoid: [
        applying_standard_cross_product_curl_outside_R3_without generalisation,
        using_cartesian_formula_in_curvilinear_coordinates,
        assuming_curl_free_means globally conservative,
        ignoring_orientation_in_stokes theorem,
        confusing_curl_with_divergence,
        interpreting_nonzero_curl_without model context
    ]
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
    validate(new_information)
    -> identify(curl_context)
    -> compare(existing_relations)
    -> preserve(field_orientation_and_topology_invariants)
    -> update(affected_entities)
    -> update(affected_edges)
    -> recompute(CONFIDENCE)
    -> regenerate(FLOW_HASH)

# ---------- FLOW HASH ----------
FLOW_HASH := hash(
    SOURCE_URL
    + ENTITY
    + CONCEPTS
    + CURL
    + NABLA
    + CIRCULATION
    + IRROTATIONAL_FIELD
    + CONSERVATIVE_FIELD
    + STOKES_THEOREM
    + VORTICITY
    + SEMANTIC_EQUIVALENCE
    + CONSTRAINTS
)

# ---------- EXECUTION ----------
INPUT(query)
    -> CURL
    -> VECTOR_FIELD_IDENTIFICATION
    -> DIMENSION_ANALYSIS
    -> COORDINATE_SYSTEM_ANALYSIS
    -> DIFFERENTIABILITY_ANALYSIS
    -> COMPONENT_DERIVATIVE_ANALYSIS
    -> CURL_CALCULATION
    -> ROTATIONAL_BEHAVIOUR_CLASSIFICATION
    -> CONSERVATIVE_FIELD_ANALYSIS
    -> CIRCULATION_VORTICITY_ANALYSIS
    -> STOKES_THEOREM_ANALYSIS
    -> GEOMETRIC_PHYSICAL_INTERPRETATION
    -> RECURSIVE_REASONING(query)
    -> CONFIDENCE
    -> OUTPUT(semantic_result)

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ