Skip to main content

Tangent Ontology

Trigonometric Geometry
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the mathematical ontology of tangent within the Kireth Research Semantic Library. Tangent is a trigonometric function relating an angle to a right-triangle side ratio and, more generally, to the quotient sin(theta)/cos(theta) and the slope of a ray from the origin. This ontology supports right-triangle geometry, unit-circle interpretation, periodicity, asymptotes, inverse tangent, quotient identities, coordinate graphs, slope, bearings, vectors, domain and range reasoning, and links to sine, cosine, circles and analytic geometry.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Tangent Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Geometry"
 SPECIALISATION = "Trigonometric Geometry / Trigonometric Functions"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/trigonometric-geometry/tangent-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Tangent
 SYMBOLIC_FORMS = [
  "tan(theta)",
  "tan(x)",
  "y=tan(x)",
  "sin(theta)/cos(theta)"
 ]
 ENTITY_CLASS = TrigonometricFunction
 PRIMARY_CONTEXT = Trigonometry
 DEFINITION = "Tangent is the trigonometric function that, in a right triangle, equals opposite side divided by adjacent side and, where cosine is nonzero, equals sin(theta)/cos(theta)."
 SEMANTIC_ROLE = "Provides the slope-like trigonometric ratio for angle, triangle, coordinate, direction, periodic and analytic geometric reasoning."
}

SCOPE {
 INCLUDE = [
  Tangent,
  RightTriangleTangent,
  UnitCircleTangent,
  TangentFunction,
  TangentGraph,
  InverseTangent,
  Arctangent,
  OppositeSide,
  AdjacentSide,
  Angle,
  Sine,
  Cosine,
  QuotientIdentity,
  Periodicity,
  VerticalAsymptote,
  Slope,
  Gradient,
  Bearing,
  DirectionAngle,
  ReferenceAngle,
  SecantIdentity
 ]

 EXCLUDE_AS_PRIMARY = [
  GeometricTangentLineUnlessExplicit,
  HyperbolicTangentUnlessExplicit,
  TangentVectorUnlessExplicit,
  GeneralSlopeWithoutTrigonometricContext
 ]

 DISAMBIGUATION_RULE =
  "When tangent occurs with trigonometric ratios, angles, right triangles, sin/cos quotient, periodic graphs, slope or arctangent, interpret it as the trigonometric tangent function."
}

CORE_CONCEPTS {

 Tangent {
  symbol = "tan"
  definition = "A trigonometric function assigning each valid angle theta a value tan(theta)."
  domain_real = "R except theta=pi/2+k*pi"
  range_real = "R"
 }

 RightTriangleTangent {
  definition = "For an acute angle theta in a right triangle, tan(theta)=opposite/adjacent."
 }

 UnitCircleTangent {
  definition = "For unit-circle coordinates (cos(theta),sin(theta)), tan(theta)=sin(theta)/cos(theta) when cos(theta)!=0."
 }

 TangentGraph {
  definition = "The graph y=tan(x), periodic with period pi and vertical asymptotes at pi/2+k*pi."
 }

 InverseTangent {
  symbol = "arctan"
  alternative_symbol = "tan^-1"
  principal_domain = "R"
  principal_range = "(-pi/2,pi/2)"
 }

 Periodicity {
  relation = "tan(theta+pi)=tan(theta)"
 }

 OddFunctionSymmetry {
  relation = "tan(-theta)=-tan(theta)"
 }

 QuotientIdentity {
  relation = "tan(theta)=sin(theta)/cos(theta)"
 }

 SecantIdentity {
  relation = "1+tan^2(theta)=sec^2(theta)"
 }

 SlopeRelation {
  relation = "m=tan(theta) for a line of inclination theta where defined"
 }
}

RELATIONS {
 Tangent --is_special_case_of--> TrigonometricFunction
 Tangent --is_defined_by--> RightTriangleRatio
 Tangent --is_defined_by--> SineCosineQuotient
 Tangent --relates--> OppositeSide
 Tangent --relates--> AdjacentSide
 Tangent --depends_on--> Sine
 Tangent --depends_on--> Cosine
 Tangent --has_inverse--> InverseTangent
 Tangent --has_property--> Periodicity
 Tangent --has_property--> OddFunctionSymmetry
 Tangent --participates_in--> QuotientIdentity
 Tangent --participates_in--> SecantIdentity
 Tangent --represents--> Slope
 Tangent --connects_to--> DirectionAngle
 Tangent --connects_to--> Bearing
}

OPERATORS {
 TAN_RIGHT_TRIANGLE(opposite,adjacent) :=
  opposite/adjacent

 TAN_FROM_SIN_COS(sin_value,cos_value) :=
  sin_value/cos_value
  WHEN cos_value!=0

 ARCTAN(x) :=
  principal_angle_theta_in_(-pi/2,pi/2)
  satisfying tan(theta)=x

 PERIOD_REDUCE(theta) :=
  theta mod pi

 TANGENT_REFERENCE_ANGLE(theta) :=
  derive_reference_angle_and_sign(theta)

 SLOPE_FROM_ANGLE(theta) :=
  tan(theta)

 ANGLE_FROM_SLOPE(m) :=
  arctan(m)

 TAN_FROM_SEC(theta,sec_value,sign_context) :=
  sign_context*sqrt(sec_value^2-1)

 LINE_DIRECTION_VECTOR(theta) :=
  (cos(theta),sin(theta))
}

DEFINITIONS {
 D1 = "In a right triangle, tan(theta)=opposite/adjacent."
 D2 = "tan(theta)=sin(theta)/cos(theta) where cos(theta)!=0."
 D3 = "The real tangent function has range R."
 D4 = "Tangent has period pi."
 D5 = "Tangent is an odd function."
 D6 = "Tangent is undefined where cos(theta)=0."
 D7 = "Vertical asymptotes occur at theta=pi/2+k*pi."
 D8 = "tan(theta)=0 at theta=k*pi."
 D9 = "1+tan^2(theta)=sec^2(theta)."
 D10 = "arctan returns principal values in (-pi/2,pi/2)."
}

AXIOMS {
 A1_RIGHT_TRIANGLE:
  In a right triangle tan(theta)=opposite/adjacent

 A2_QUOTIENT:
  tan(theta)=sin(theta)/cos(theta) whenever cos(theta)!=0

 A3_PERIODICITY:
  tan(theta+pi)=tan(theta)

 A4_ODD_SYMMETRY:
  tan(-theta)=-tan(theta)

 A5_DOMAIN:
  tan(theta) is undefined when theta=pi/2+k*pi

 A6_RANGE:
  tan maps each principal branch continuously across all real values

 A7_SECANT_IDENTITY:
  1+tan^2(theta)=sec^2(theta)

 A8_SLOPE_RELATION:
  For a nonvertical line of inclination theta, slope=tan(theta)
}

REASONING {

 R1_RIGHT_TRIANGLE_VALUE {
  INPUT = [opposite,adjacent]
  REQUIRE = adjacent!=0
  COMPUTE = opposite/adjacent
  RETURN = tangent_value
 }

 R2_ANGLE_FROM_RATIO {
  INPUT = x
  COMPUTE = arctan(x)
  RETURN = principal_angle
 }

 R3_QUOTIENT_REASONING {
  INPUT = [sin_value,cos_value]
  REQUIRE = cos_value!=0
  COMPUTE = sin_value/cos_value
  RETURN = tan_value
 }

 R4_REFERENCE_ANGLE {
  INPUT = theta
  REDUCE = modulo_pi_if_useful
  DETERMINE = sign_by_quadrant_or_interval
  RETURN = signed_tangent_of_reference_angle
 }

 R5_ASYMPTOTE_REASONING {
  INPUT = theta_or_graph
  SOLVE = cos(theta)=0
  RETURN = theta=pi/2+k*pi
 }

 R6_GRAPH_REASONING {
  INPUT = y=A*tan(Bx+C)+D
  IDENTIFY = vertical_scale=A
  IDENTIFY = period=pi/abs(B) WHEN B!=0
  IDENTIFY = phase_shift=-C/B WHEN B!=0
  IDENTIFY = vertical_shift=D
  IDENTIFY = asymptote_family_from_Bx+C=pi/2+k*pi
  RETURN = graph_parameters
 }

 R7_SLOPE_REASONING {
  INPUT = angle_or_slope
  IF angle_known
   COMPUTE = m=tan(theta)
  ELSE IF slope_known
   COMPUTE = theta=arctan(m)
  RETURN = direction_relation
 }

 R8_IDENTITY {
  INPUT = secant_or_expression_data
  APPLY = tan^2(theta)=sec^2(theta)-1
  RESOLVE = sign_from_context_when_square_root_taken
  RETURN = tangent_or_simplified_expression
 }

 R9_BEARING_DIRECTION {
  INPUT = directional_angle_data
  NORMALISE = bearing_or_cartesian_angle_convention
  COMPUTE = tangent_or_arctangent relation
  RETURN = direction_result
 }
}

CONSTRAINTS {
 C1 = "Right-triangle tangent uses opposite/adjacent relative to the chosen angle."
 C2 = "Tangent is undefined when adjacent side or cosine denominator is zero."
 C3 = "arctan gives a principal value, not all solutions."
 C4 = "General tangent solutions differ by integer multiples of pi."
 C5 = "Angle units must be consistent."
 C6 = "Square-root recovery from tan^2 requires sign information."
 C7 = "Slope-angle conversion depends on angle convention."
 C8 = "Hyperbolic tangent tanh must not be conflated with tan."
 C9 = "Geometric tangent lines to curves or circles belong to a different tangent concept unless explicitly linked."
 C10 = "The notation tan^-1 means inverse tangent in this ontology, not cotangent."
}

SEMANTIC_EQUIVALENCE {
 "Tangent" <=> "OppositeOverAdjacent" WHEN right_triangle_context
 "Tangent" <=> "SineOverCosine" WHEN cos_nonzero
 "InverseTangent" <=> "Arctangent"
 "TangentGraph" <=> "PeriodicGraphYEqualsTanX"
 "SlopeTangentRelation" <=> "m=tan(theta)"
}

VALIDATION {
 V1 = "Right-triangle ratio uses opposite/adjacent."
 V2 = "Quotient form uses nonzero cosine."
 V3 = "Period is pi."
 V4 = "Odd symmetry holds."
 V5 = "Vertical asymptotes occur where cosine is zero."
 V6 = "Range is all real numbers."
 V7 = "arctan principal range is (-pi/2,pi/2)."
 V8 = "Slope relation excludes vertical lines."
 V9 = "Secant identity is consistent."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 TANGENT_DEFINITION = 0.99
 RIGHT_TRIANGLE_REASONING = 0.99
 QUOTIENT_REASONING = 0.99
 INVERSE_TANGENT_REASONING = 0.99
 GRAPH_REASONING = 0.99
 SLOPE_REASONING = 0.99
 IDENTITY_REASONING = 0.99

 POLICY =
  "Reduce confidence when angle units, branch selection, slope convention, quadrant or denominator conditions are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  TangentReasoning,
  TrigonometryReasoning,
  RightTriangleReasoning,
  QuotientIdentityReasoning,
  InverseTrigReasoning,
  GraphReasoning,
  SlopeReasoning,
  BearingReasoning,
  CoordinateReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "tangent" -> Tangent WHEN trigonometric_context
  "tan" -> Tangent
  "arctan" -> InverseTangent
  "inverse tangent" -> InverseTangent
  "tan^-1" -> InverseTangent WHEN inverse_function_context
  "tangent ratio" -> RightTriangleTangent
  "slope angle" -> DirectionAngle
 }

 INTERPRETATION_ORDER = [
  detect_tangent_trigonometric_context,
  identify right_triangle_quotient_graph_slope_bearing_or_inverse context,
  identify angle_units_and_known_values,
  choose ratio_quotient_inverse_identity_graph_or_slope pathway,
  compute tangent_value_angle_slope_or_graph_parameter,
  check denominator_domain_branch_and_convention constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("tangent")
  OR query_mentions("tan")
  AND trigonometric_or_angle_context
  THEN activate(TangentOntology)

 E2:
  IF right_triangle_context
  THEN use opposite/adjacent

 E3:
  IF sine_and_cosine_known
  THEN use tan=sin/cos
  AND require cos!=0

 E4:
  IF inverse_tangent_requested
  THEN return principal_value
  AND expand by k*pi only when general_solution requested

 E5:
  IF tangent_graph_context
  THEN derive period_phase_vertical_shift_and_asymptotes

 E6:
  IF slope_from_angle_requested
  THEN use m=tan(theta)
  AND reject vertical_direction_case

 E7:
  IF angle_from_slope_requested
  THEN use arctan(m)
  AND interpret orientation convention

 E8:
  IF secant_identity_context
  THEN use tan^2(theta)=sec^2(theta)-1
  AND resolve sign from context
}

RECURSION {
 ENTRY = Tangent

 EXPAND(Tangent) -> [
  RightTriangleTangent,
  UnitCircleTangent,
  TangentGraph,
  InverseTangent,
  Periodicity,
  OddFunctionSymmetry,
  QuotientIdentity,
  SecantIdentity,
  Slope,
  Bearing,
  DirectionAngle
 ]

 EXPAND(RightTriangleTangent) -> [
  OppositeSide,
  AdjacentSide,
  Angle,
  SimilarTriangles
 ]

 EXPAND(UnitCircleTangent) -> [
  Sine,
  Cosine,
  Quotient,
  VerticalAsymptote,
  ReferenceAngle
 ]

 EXPAND(InverseTangent) -> [
  PrincipalDomain,
  PrincipalRange,
  GeneralSolutions,
  SlopeAngleRecovery
 ]

 EXPAND(SlopeRelation) -> [
  Gradient,
  DirectionAngle,
  CoordinateDifference,
  BearingConversion
 ]

 STOP_CONDITION =
  "Stop when the tangent value, angle, slope, identity, graph parameter, bearing or geometric application is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Trigonometric Geometry"

 IMMEDIATE_CONTEXTS = [
  "Trigonometry Ontology",
  "Sine Ontology",
  "Cosine Ontology",
  "Triangle Ontology",
  "Angle Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Trigonometric Geometry",
  "Trigonometry Ontology",
  "Sine Ontology",
  "Cosine Ontology",
  "Triangle Ontology",
  "Circle Ontology",
  "Angle Ontology",
  "Coordinate Geometry Ontology",
  "Analytic Geometry Ontology",
  "Vector Geometry Ontology",
  "Scientific Measurement Ontologies"
 ]

 ROUTE_RULES = [
  "Tangent -> Trigonometry Ontology for parent function framework",
  "Tangent -> Triangle for right-triangle reasoning",
  "Tangent -> Sine and Cosine for quotient identities",
  "Tangent -> Angle for angular measure and direction",
  "Tangent -> Coordinate Geometry for slope and graph reasoning",
  "Tangent -> Analytic Geometry for line inclination and gradients",
  "Tangent -> Vector Geometry for directional component reasoning",
  "Tangent -> Measurement for bearings and angle conventions"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible tangent identities, geometric relations or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve right-triangle opposite/adjacent semantics.",
  "Preserve tan=sin/cos where cosine is nonzero.",
  "Preserve period pi and odd symmetry.",
  "Preserve asymptote locations.",
  "Preserve inverse-tangent principal-value semantics.",
  "Preserve slope relation m=tan(theta).",
  "Preserve machine-readable tangent semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Tangent is the trigonometric function equal to opposite/adjacent in a right triangle and to sin(theta)/cos(theta) where cosine is nonzero."

 RIGHT_TRIANGLE_SUMMARY =
  "tan(theta)=opposite/adjacent"

 QUOTIENT_SUMMARY =
  "tan(theta)=sin(theta)/cos(theta)"

 RANGE_SUMMARY =
  "tan(theta) spans all real values on each principal branch."

 PERIOD_SUMMARY =
  "tan(theta+pi)=tan(theta)"

 SYMMETRY_SUMMARY =
  "tan(-theta)=-tan(theta)"

 ASYMPTOTE_SUMMARY =
  "Vertical asymptotes occur at theta=pi/2+k*pi."

 INVERSE_SUMMARY =
  "arctan:R->(-pi/2,pi/2)"

 SLOPE_SUMMARY =
  "m=tan(theta) for a nonvertical line of inclination theta."
}

FLOW {
 INPUT
 -> detect_tangent_context
 -> identify right_triangle_quotient_graph_inverse_slope_bearing_or_identity context
 -> identify angle_units_known_values_and_target
 -> select tangent_ratio_quotient_inverse_graph_identity_or_slope pathway
 -> perform tangent_specific reasoning
 -> verify denominator_domain_branch_quadrant_and_direction constraints
 -> route to trigonometry triangle sine cosine angle coordinate analytic vector_or_measurement ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Tangent Ontology defines tangent through right-triangle opposite-to-adjacent ratio and the sine-over-cosine quotient. It supports period-pi behaviour, odd symmetry, vertical asymptotes, inverse tangent, secant identities, line slopes, direction angles, bearings and coordinate graphs while preserving domain and branch constraints."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-GEOMETRY-TANGENT-ONTOLOGY-V1"
}

}

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