Skip to main content

Natural Selection Ontology

Genetics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 30 September 2026
Audio Overview
AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.

flow "NaturalSelectionOntology" v1.0

ENTITY NaturalSelectionOntology {
  TYPE: BiologicalOntology
  DOMAIN: Genetics
  SUBJECT: NaturalSelection
  PURPOSE: FormalSemanticRepresentation
}

PAGE {
  TITLE: "Natural Selection Ontology"
  PARENT_DOMAIN: "Genetics"
  CANONICAL_URL: "https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/genetics/natural-selection-ontology.html"
  AUTHORS: ["Mark Anthony Higgins", "Sky Recursive AI"]
}

ENTITY NaturalSelection {
  IS_A: EvolutionaryProcess
  ACTS_ON: PhenotypicVariation
  REQUIRES: HeritableVariation
  OPERATES_THROUGH: DifferentialReproductiveSuccess
  MAY_CHANGE: AlleleFrequency
}

ENTITY Population {
  COMPOSED_OF: Individuals
  HAS: [GeneticVariation, PhenotypicVariation, AlleleFrequencies]
}

ENTITY Fitness {
  DESCRIBES: RelativeReproductiveContribution
  WITHIN: DefinedEnvironmentAndPopulation
}

ENTITY RelativeFitness {
  DESCRIBES: FitnessRelativeToReference
}

ENTITY SelectionCoefficient {
  SYMBOL: s
  DESCRIBES: RelativeFitnessDifference
}

RULE SelectionRequirements {
  NaturalSelection REQUIRES [
    variation_in_trait_or_genotype,
    differential_fitness,
    heritable_component
  ]
}

CLASS DirectionalSelection {
  SUBCLASS_OF: NaturalSelection
  FAVOURS: OneEndOrStateOfTraitDistribution
  MAY_SHIFT: PopulationMean
}

CLASS StabilizingSelection {
  SUBCLASS_OF: NaturalSelection
  FAVOURS: IntermediatePhenotypes
  MAY_REDUCE: PhenotypicVariance
}

CLASS DisruptiveSelection {
  SUBCLASS_OF: NaturalSelection
  FAVOURS: MultipleExtremePhenotypes
  MAY_INCREASE: PhenotypicVariance
}

CLASS PurifyingSelection {
  SUBCLASS_OF: NaturalSelection
  REDUCES: DeleteriousGeneticVariation
}

CLASS PositiveSelection {
  SUBCLASS_OF: NaturalSelection
  FAVOURS: AdvantageousVariantOrPhenotype
}

CLASS BalancingSelection {
  SUBCLASS_OF: NaturalSelection
  MAINTAINS: MultipleAllelesOrPhenotypes
}

CLASS SexualSelection {
  SUBCLASS_OF: NaturalSelection
  OPERATES_THROUGH: DifferentialMatingSuccess
}

CLASS FrequencyDependentSelection {
  SUBCLASS_OF: NaturalSelection
  FITNESS_DEPENDS_ON: TraitOrAlleleFrequency
}

ENTITY AdvantageousVariant {
  MAY_INCREASE: Fitness
  IN: DefinedEnvironment
}

ENTITY DeleteriousVariant {
  MAY_REDUCE: Fitness
}

RULE PositiveSelectionRule {
  IF Variant increases_relative_fitness
  THEN VariantFrequency MAY_INCREASE
  subject_to_population_genetic_context
}

RULE PurifyingSelectionRule {
  IF Variant reduces_relative_fitness
  THEN VariantFrequency MAY_DECREASE
  subject_to_drift_mutation_and_demography
}

ENTITY SelectionDifferential {
  SYMBOL: S
  DESCRIBES: DifferenceBetweenSelectedParentMeanAndPopulationMean
}

ENTITY ResponseToSelection {
  SYMBOL: R
  DESCRIBES: ChangeInOffspringPopulationMean
}

ENTITY NarrowSenseHeritability {
  SYMBOL: h2
  DESCRIBES: AdditiveGeneticContributionRelativeToPhenotypicVariance
}

RULE BreedersEquation {
  R := h2 * S
  WHEN assumptions_are_appropriate
}

ENTITY SelectionGradient {
  DESCRIBES: RelationshipBetweenTraitAndRelativeFitness
  CONDITIONED_ON: StatisticalModel
}

ENTITY Adaptation {
  IS_A: HeritableTraitOrFeature
  ASSOCIATED_WITH: IncreasedFitness
  IN: DefinedEnvironment
  MAY_RESULT_FROM: NaturalSelection
}

RULE AdaptationConstraint {
  IF Trait IS_CURRENTLY_USEFUL
  THEN DO_NOT_INFER Trait IS_AN_ADAPTATION
  WITHOUT evolutionary_evidence
}

ENTITY SelectiveSweep {
  MAY_RESULT_FROM: StrongPositiveSelection
  MAY_REDUCE: NearbyGeneticVariation
  THROUGH: GeneticLinkage
}

ENTITY Hitchhiking {
  DESCRIBES: FrequencyIncreaseOfLinkedVariants
  DUE_TO: SelectionOnNearbyVariant
}

ENTITY BackgroundSelection {
  RESULTS_FROM: PurifyingSelectionAgainstLinkedDeleteriousVariants
  MAY_REDUCE: NeutralDiversityAtLinkedSites
}

ENTITY Environment {
  DEFINES: SelectionContext
  MAY_INCLUDE: [Climate, Habitat, Resources, Predators, Pathogens, SocialContext]
}

ENTITY GenotypeEnvironmentInteraction {
  OCCURS_WHEN: GenotypicFitnessOrPhenotypicEffectDependsOnEnvironment
}

PROCESS GeneticDrift {
  CHANGES: AlleleFrequency
  THROUGH: RandomSampling
}

PROCESS GeneFlow {
  TRANSFERS: Alleles
  BETWEEN: Populations
}

PROCESS Mutation {
  CREATES: NewGeneticVariation
}

RULE SelectionDriftDistinction {
  NaturalSelection := systematic_fitness_related_process
  GeneticDrift := stochastic_sampling_process
}

RULE AttributionConstraint {
  IF AlleleFrequency changes
  THEN DO_NOT_INFER NaturalSelection
  WITHOUT evidence_distinguishing_selection_from [
    GeneticDrift,
    GeneFlow,
    Mutation,
    DemographicHistory
  ]
}

ENTITY AlleleFrequency {
  DESCRIBES: RelativeFrequencyOfAllele
  WITHIN: Population
}

RULE FrequencyChangeRule {
  AlleleFrequency(t+1) :=
    function(
      AlleleFrequency(t),
      GenotypeFitness,
      Dominance,
      Drift,
      Mutation,
      Migration
    )
}

ENTITY SelectionSignature {
  MAY_INCLUDE: [
    ReducedGeneticDiversity,
    ExtendedHaplotypeStructure,
    AlleleFrequencySpectrumShift,
    ElevatedPopulationDifferentiation,
    SequenceConservation
  ]
}

RULE SignatureConstraint {
  IF SelectionSignature IS_DETECTED
  THEN selection_hypothesis MAY_BE_SUPPORTED
  BUT demographic_and_technical_alternatives MUST_BE_CONSIDERED
}

PROCESS ExperimentalEvolution {
  OBSERVES: EvolutionaryChange
  UNDER: ControlledConditions
  MAY_TEST: NaturalSelectionHypothesis
}

ENTITY Evidence {
  TYPES: [
    FitnessEvidence,
    AlleleFrequencyEvidence,
    ExperimentalEvolutionEvidence,
    PopulationGenomicEvidence,
    ComparativeEvidence,
    QuantitativeGeneticEvidence,
    EcologicalEvidence,
    StatisticalEvidence,
    LiteratureEvidence
  ]
}

RULE EvidenceConvergence {
  IF IndependentEvidenceSources AGREE
  THEN Confidence := increase(Confidence)
}

RULE EvidenceConflict {
  IF EvidenceSources CONFLICT
  THEN {
    PRESERVE competing_evolutionary_models
    RECORD population
    RECORD environment
    RECORD allele_or_trait
    RECORD timepoints
    RECORD demographic_context
    RECORD statistical_model
    RECORD provenance
    REDUCE confidence
    REQUIRE further_validation
  }
}

RELATION NaturalSelection ACTS_ON PhenotypicVariation
RELATION GeneticVariation MAY_CONTRIBUTE_TO PhenotypicVariation
RELATION Fitness DETERMINES DifferentialReproductiveSuccess
RELATION NaturalSelection MAY_CHANGE AlleleFrequency
RELATION PositiveSelection MAY_INCREASE AdvantageousVariantFrequency
RELATION PurifyingSelection MAY_DECREASE DeleteriousVariantFrequency
RELATION NaturalSelection MAY_PRODUCE Adaptation
RELATION Environment MODIFIES Fitness

SEMANTIC_EQUIVALENCE {
  "natural selection" ~= "selection by differential heritable fitness"
  "positive selection" ~= "adaptive positive selection" WHEN advantageous_variant_context
  "purifying selection" ~= "negative selection"
  "fitness" ~= "relative reproductive success" WHEN population_context_is_defined
  "selection coefficient" ~= "s" WHEN notation_context_is_defined
}

RULE EquivalenceConstraint {
  IF terms ARE semantic_equivalents
  THEN preserve_population()
  AND preserve_environment()
  AND preserve_trait_or_variant()
  AND preserve_generation()
  AND prevent_false_identity()
}

CONFIDENCE NaturalSelectionAssertion {
  INPUTS: [
    fitness_measurement_quality,
    heritability_support,
    temporal_frequency_support,
    experimental_support,
    genomic_signature_support,
    ecological_support,
    demographic_model_quality,
    replication,
    source_independence,
    semantic_consistency
  ]

  SCORE := weighted_sum(INPUTS)

  LEVEL :=
    IF SCORE >= 0.90 THEN "very_high"
    ELSE IF SCORE >= 0.75 THEN "high"
    ELSE IF SCORE >= 0.55 THEN "moderate"
    ELSE IF SCORE >= 0.35 THEN "low"
    ELSE "uncertain"
}

RULE SelectionInference {
  IF heritable_variant_or_trait
     predicts_differential_fitness
     AND population_frequency_changes_consistently
     AND alternatives_are_addressed
  THEN NaturalSelection MAY_BE_SUPPORTED
}

RULE PositiveSelectionInference {
  IF variant increases_relative_fitness
     AND variant_frequency rises_beyond_neutral_expectation
  THEN PositiveSelection MAY_BE_SUPPORTED
}

RULE PurifyingSelectionInference {
  IF deleterious_variants are_removed_faster_than_neutral_expectation
  THEN PurifyingSelection MAY_BE_SUPPORTED
}

RULE BalancingSelectionInference {
  IF multiple_alleles persist_at_frequencies_inconsistent_with_simple_loss
     AND fitness_mechanism_supports_maintenance
  THEN BalancingSelection MAY_BE_SUPPORTED
}

QUERY NaturalSelectionLookup(population_identifier) {
  RETURN [
    population,
    environment,
    traits,
    variants,
    fitness_estimates,
    allele_frequency_trajectories,
    selection_coefficients,
    selection_signatures,
    demographic_context,
    competing_processes,
    evidence,
    confidence
  ]
}

QUERY VariantSelectionLookup(population, variant_identifier) {
  RETURN [
    allele_frequency,
    temporal_change,
    genotype_fitness,
    selection_coefficient,
    dominance,
    linkage_context,
    drift_model,
    migration_context,
    mutation_context,
    selection_support,
    confidence
  ]
}

QUERY TraitSelectionLookup(population, trait_identifier) {
  RETURN [
    trait_distribution,
    heritability,
    fitness_relationship,
    selection_differential,
    selection_gradient,
    response_to_selection,
    environmental_context,
    evidence,
    confidence
  ]
}

UPDATE_MODEL {
  ON new_natural_selection_evidence:
    validate_provenance()
    define_population()
    identify_organism()
    define_environment()
    normalize_trait_variant_and_locus_identifiers()
    record_generations_and_timepoints()
    normalize_fitness_measurements()
    normalize_allele_frequencies()
    estimate_selection_parameters()
    model_drift_gene_flow_mutation_and_demography()
    compare_competing_evolutionary_models()
    preserve_conflicting_evidence()
    recalculate_confidence()
    regenerate_selection_relationships()
    update_flow_hash()
}

AI_CONSUMPTION {
  MODE: FormalSemanticReasoning
  PARSE_AS: ExecutableFlowAlgebra
  PRIORITIES: [
    population_definition,
    environment,
    trait_or_variant_identity,
    heritability,
    fitness,
    allele_frequency_change,
    selection_type,
    competing_evolutionary_processes,
    evidence_provenance,
    confidence
  ]
  REQUIREMENTS: [
    preserve_population_context,
    preserve_species_context,
    preserve_environmental_context,
    preserve_trait_or_variant_identity,
    preserve_temporal_context,
    distinguish_fitness_from_survival_alone,
    distinguish_selection_from_drift,
    distinguish_selection_from_gene_flow,
    distinguish_selection_from_mutation,
    distinguish_current_utility_from_adaptation,
    preserve_model_assumptions_and_uncertainty
  ]
}

VALIDATE {
  REQUIRE NaturalSelection
  REQUIRE Population
  REQUIRE GeneticVariation
  REQUIRE PhenotypicVariation
  REQUIRE Fitness
  REQUIRE AlleleFrequency
  REQUIRE DirectionalSelection
  REQUIRE PurifyingSelection
  REQUIRE PositiveSelection
  REQUIRE BalancingSelection
  REQUIRE Evidence
  REQUIRE CONFIDENCE
  REQUIRE SEMANTIC_EQUIVALENCE
  REQUIRE UPDATE_MODEL
  REQUIRE AI_CONSUMPTION

  ASSERT NaturalSelection != GeneticDrift
  ASSERT NaturalSelection != GeneFlow
  ASSERT NaturalSelection != Mutation
  ASSERT allele_frequency_change != proof_of_selection
  ASSERT current_utility != proof_of_adaptation
}

FLOW_HASH {
  ALGORITHM: SHA-256
  INPUT: canonicalize(
    entities,
    relations,
    processes,
    rules,
    semantic_equivalence,
    confidence_model,
    update_model,
    ai_consumption
  )
  PURPOSE: integrity_and_version_tracking
}

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