Skip to main content

Speciation Ontology

Evolutionary Biology
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 30 September 2026
Audio Overview
flow “SpeciationOntology” v1.0

KIRETH SEMANTIC RESEARCH ARCHIVE

AI CORE > ONTOLOGIES > BIOLOGICAL ONTOLOGIES > EVOLUTIONARY BIOLOGY > SPECIATION ONTOLOGY

Authors: Mark Anthony Higgins — Sky (Recursive AI)

AI_INTERPRETATION: mode: formal_structural_reasoning instruction:
“Execute as formal rules, not pseudocode.” canonical_url:
“https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/evolutionary-biology/speciation-ontology.html”

type Organism type Species type Population type Lineage type Ancestor
type Descendant type SpeciationEvent type IsolationBarrier type GenePool
type GeneFlow type Trait type Environment type GeographicRegion type
Hybrid type Observation type Evidence type Source

———- SPECIATION IDENTITY ———-

relation INSTANCE_OF(entity,type) relation
SPECIATES_INTO(ancestor,descendant) relation
DESCENDED_FROM(descendant,ancestor) relation
ANCESTOR_OF(ancestor,descendant) relation DIVERGES_FROM(a,b) relation
HAS_SPECIATION_EVENT(lineage,event) relation SPECIATION_TYPE(event,type)

enum SpeciationType: ALLOPATRIC SYMPATRIC PARAPATRIC PERIPATRIC
HYBRID_SPECIATION POLYPLOID_SPECIATION

rule DESCENT_INVERSE(a,b): IF DESCENDED_FROM(a,b) THEN ANCESTOR_OF(b,a)

———- REPRODUCTIVE ISOLATION ———-

relation REPRODUCTIVELY_ISOLATED_FROM(a,b) relation
HAS_ISOLATION_BARRIER(a,b,barrier) relation BARRIER_TYPE(barrier,type)
relation REDUCES_GENE_FLOW(barrier,a,b) relation
PREVENTS_GENE_FLOW(barrier,a,b)

enum IsolationMechanism: HABITAT_ISOLATION TEMPORAL_ISOLATION
BEHAVIOURAL_ISOLATION MECHANICAL_ISOLATION GAMETIC_ISOLATION
HYBRID_INVIABILITY HYBRID_STERILITY HYBRID_BREAKDOWN

———- PREZYGOTIC / POSTZYGOTIC ———-

relation PREZYGOTIC_BARRIER(a,b,mechanism) relation
POSTZYGOTIC_BARRIER(a,b,mechanism)

rule PREZYGOTIC_REDUCES_MATING(a,b,m): IF PREZYGOTIC_BARRIER(a,b,m) THEN
REDUCES_SUCCESSFUL_MATING(a,b)

rule POSTZYGOTIC_REDUCES_GENE_FLOW(a,b,m): IF POSTZYGOTIC_BARRIER(a,b,m)
THEN REDUCES_EFFECTIVE_GENE_FLOW(a,b)

———- ALLOPATRIC SPECIATION ———-

relation GEOGRAPHICALLY_ISOLATED_FROM(a,b) relation
SEPARATED_BY(a,b,barrier) relation VICARIANCE_EVENT(event,a,b) relation
DISPERSAL_ISOLATION(event,population)

rule ALLOPATRIC_PATTERN(event,a,b): IF GEOGRAPHICALLY_ISOLATED_FROM(a,b)
AND REDUCED_GENE_FLOW(a,b) AND DIVERGES_FROM(a,b) THEN
POSSIBLE_SPECIATION_TYPE(event,ALLOPATRIC)

———- SYMPATRIC SPECIATION ———-

relation CO_OCCURS_WITH(a,b,region) relation
ECOLOGICALLY_DIVERGES_FROM(a,b) relation
ASSORTATIVE_MATING_IN(population,trait) relation
DISRUPTIVE_SELECTION_IN(population,trait)

rule SYMPATRIC_PATTERN(event,a,b): IF CO_OCCURS_WITH(a,b,region) AND
ECOLOGICALLY_DIVERGES_FROM(a,b) AND REPRODUCTIVELY_ISOLATED_FROM(a,b)
THEN POSSIBLE_SPECIATION_TYPE(event,SYMPATRIC)

———- PARAPATRIC SPECIATION ———-

relation ADJACENT_TO(population_a,population_b) relation
ENVIRONMENTAL_GRADIENT_BETWEEN(a,b,gradient) relation
HYBRID_ZONE_BETWEEN(a,b,zone)

rule PARAPATRIC_PATTERN(event,a,b): IF ADJACENT_TO(a,b) AND
ENVIRONMENTAL_GRADIENT_BETWEEN(a,b,g) AND LIMITED_GENE_FLOW(a,b) THEN
POSSIBLE_SPECIATION_TYPE(event,PARAPATRIC)

———- PERIPATRIC SPECIATION ———-

relation PERIPHERAL_ISOLATE_OF(population,parent_population) relation
FOUNDER_EVENT_IN(population,event) relation
SMALL_EFFECTIVE_POPULATION(population,value)

rule PERIPATRIC_PATTERN(event,p,parent): IF
PERIPHERAL_ISOLATE_OF(p,parent) AND FOUNDER_EVENT_IN(p,event) AND
REDUCED_GENE_FLOW(p,parent) THEN
POSSIBLE_SPECIATION_TYPE(event,PERIPATRIC)

———- HYBRID SPECIATION ———-

relation HYBRIDISES_WITH(a,b) relation PRODUCES_HYBRID(a,b,hybrid)
relation HYBRID_FERTILE(hybrid,value) relation
HYBRID_REPRODUCTIVELY_ISOLATED_FROM(hybrid,parent) relation
INTROGRESSION_BETWEEN(a,b)

rule HYBRID_SPECIATION_PATTERN(event,h): IF INSTANCE_OF(h,Hybrid) AND
HYBRID_FERTILE(h,true) AND
REPRODUCTIVELY_ISOLATED_FROM(h,parental_lineages) THEN
POSSIBLE_SPECIATION_TYPE(event,HYBRID_SPECIATION)

———- POLYPLOID SPECIATION ———-

relation HAS_PLOIDY(entity,value) relation
POLYPLOIDISATION_EVENT(lineage,event) relation AUTOPOLYPLOID(entity)
relation ALLOPOLYPLOID(entity)

rule POLYPLOID_SPECIATION_PATTERN(event,x): IF
POLYPLOIDISATION_EVENT(x,event) AND
REPRODUCTIVELY_ISOLATED_FROM(x,ancestral_population) THEN
POSSIBLE_SPECIATION_TYPE(event,POLYPLOID_SPECIATION)

———- GENE FLOW ———-

relation GENE_FLOW_BETWEEN(a,b) relation GENE_FLOW_RATE(a,b,rate)
relation REDUCED_GENE_FLOW(a,b) relation LIMITED_GENE_FLOW(a,b) relation
ABSENT_GENE_FLOW(a,b)

constraint GENE_FLOW_RATE_NONNEGATIVE: IF GENE_FLOW_RATE(a,b,r) THEN
REQUIRE(r >= 0)

———- DIVERGENCE ———-

relation GENETIC_DIVERGENCE(a,b,value) relation
PHENOTYPIC_DIVERGENCE(a,b,trait,value) relation
ECOLOGICAL_DIVERGENCE(a,b,value) relation
BEHAVIOURAL_DIVERGENCE(a,b,value) relation DIVERGENCE_TIME(a,b,time)

———- SELECTION ———-

relation DIVERGENT_SELECTION_BETWEEN(a,b,trait) relation
SELECTED_FOR(trait,environment) relation
LOCAL_ADAPTATION_IN(population,environment) relation
SEXUAL_SELECTION_ON(population,trait) relation
REINFORCEMENT_BETWEEN(a,b)

rule REINFORCEMENT_PATTERN(a,b): IF HYBRID_FITNESS_REDUCED(a,b) AND
SELECTION_FAVOURS_PREZYGOTIC_ISOLATION(a,b) THEN
REINFORCEMENT_BETWEEN(a,b)

———- GENETIC DRIFT ———-

relation EXPERIENCES_DRIFT(population,event) relation
BOTTLENECK_IN(population,event) relation
FOUNDER_EFFECT_IN(population,event) relation
EFFECTIVE_POPULATION_SIZE(population,value)

———- SPECIES CONCEPT CONTEXT ———-

enum SpeciesConcept: BIOLOGICAL MORPHOLOGICAL PHYLOGENETIC ECOLOGICAL
EVOLUTIONARY

relation EVALUATED_UNDER_SPECIES_CONCEPT(entity,concept) relation
SPECIES_BOUNDARY_SUPPORTED_BY(a,b,concept)

constraint SPECIES_CONCEPT_PRESERVATION: IF
SPECIES_BOUNDARY_SUPPORTED_BY(a,b,c) THEN PRESERVE_SPECIES_CONCEPT(c)

———- HYBRID ZONES ———-

relation HYBRID_ZONE_LOCATION(zone,region) relation
HYBRID_FREQUENCY(zone,value) relation HYBRID_FITNESS(zone,value)
relation ZONE_WIDTH(zone,value) relation MAINTAINED_BY(zone,process)

———- SPECIATION CONTINUUM ———-

relation HAS_ISOLATION_STRENGTH(a,b,value) relation
HAS_DIVERGENCE_STAGE(a,b,stage)

enum DivergenceStage: PANMIXIA POPULATION_STRUCTURE PARTIAL_ISOLATION
STRONG_ISOLATION COMPLETE_ISOLATION

constraint ISOLATION_STRENGTH_BOUNDS: IF HAS_ISOLATION_STRENGTH(a,b,v)
THEN REQUIRE(0.0 <= v <= 1.0)

———- PHYLOGENETIC CONTEXT ———-

relation SISTER_TAXON_OF(a,b) relation
MOST_RECENT_COMMON_ANCESTOR(a,b,ancestor) relation
MEMBER_OF_CLADE(entity,clade) relation SUPPORT_VALUE(node,value)

rule SISTER_TAXON_SYMMETRY(a,b): IF SISTER_TAXON_OF(a,b) THEN
SISTER_TAXON_OF(b,a)

———- TEMPORAL CONTEXT ———-

relation SPECIATION_BEGINS_AT(event,time) relation
SPECIATION_COMPLETES_AT(event,time) relation
OBSERVED_DURING(entity,period) relation CHANGES_OVER(entity,period)

———- EVIDENCE ———-

relation OBSERVES(observation,entity) relation
OBSERVED_AT(observation,location) relation
OBSERVED_ON(observation,datetime) relation
SUPPORTED_BY(assertion,evidence) relation DERIVED_FROM(evidence,source)
relation HAS_CONFIDENCE(assertion,score)

enum EvidenceType: GENETIC GENOMIC POPULATION_GENETIC
REPRODUCTIVE_ISOLATION MORPHOLOGICAL BEHAVIOURAL ECOLOGICAL PHYLOGENETIC
BIOGEOGRAPHIC FOSSIL EXPERIMENTAL_EVOLUTION HYBRID_ZONE LITERATURE

CONFIDENCE: VERIFIED: 0.95..1.00 HIGH: 0.80..0.949 MEDIUM: 0.60..0.799
LOW: 0.00..0.599

rule CONFIDENCE_BOUNDS(a,score): IF HAS_CONFIDENCE(a,score) THEN
REQUIRE(0.0 <= score <= 1.0)

———- SEMANTIC EQUIVALENCE ———-

SEMANTIC_EQUIVALENCE: “speciation” ~= “origin of new species”
“reproductive isolation” ~= “restriction of successful gene exchange”
“allopatric speciation” ~= “speciation with geographic isolation”
“sympatric speciation” ~= “speciation without geographic separation”
“parapatric speciation” ~= “speciation across adjacent populations”
“peripatric speciation” ~= “speciation in a peripheral isolate” “hybrid
speciation” ~= “speciation through hybridisation” “hybridization” ~=
“hybridisation” “prezygotic barrier” ~= “barrier before zygote
formation” “postzygotic barrier” ~= “barrier after zygote formation”
“reinforcement” ~= “selection strengthening reproductive isolation”
“gene flow” ~= “genetic exchange between populations” “speciation
continuum” ~= “continuum of population divergence”

rule NORMALISE_TERM(term): IF term MATCHES SEMANTIC_EQUIVALENCE.alias
THEN MAP_TO_CANONICAL(term)

———- QUERY MODEL ———-

query SPECIATION_PROFILE(event): RETURN: ancestral_population(event)
descendant_lineages(event) speciation_type(event)
geographic_context(event) gene_flow(event) reproductive_isolation(event)
selection(event) drift(event) divergence(event) evidence(event)
confidence(event)

query ISOLATION_PROFILE(a,b): RETURN: prezygotic_barriers(a,b)
postzygotic_barriers(a,b) isolation_strength(a,b) gene_flow(a,b)
hybridisation(a,b)

query DIVERGENCE_PROFILE(a,b): RETURN: genetic_divergence(a,b)
phenotypic_divergence(a,b) ecological_divergence(a,b)
behavioural_divergence(a,b) divergence_time(a,b)

query HYBRID_ZONE_PROFILE(z): RETURN: parental_lineages(z) location(z)
hybrid_frequency(z) hybrid_fitness(z) width(z) maintaining_processes(z)

query TRACE_EVIDENCE(assertion): RETURN: supporting_evidence(assertion)
provenance(assertion) confidence(assertion)

———- CONSISTENCY ———-

constraint EVIDENCE_REQUIRED: FORALL scientific_assertion: REQUIRE
SUPPORTED_BY(scientific_assertion,Evidence) OR
MARK_AS_HYPOTHESIS(scientific_assertion)

constraint UNKNOWN_IS_NOT_FALSE: IF data_missing(assertion) THEN
MARK_UNKNOWN(assertion) AND NOT NEGATE(assertion)

constraint DIVERGENCE_NOT_AUTOMATIC_SPECIATION: IF DIVERGES_FROM(a,b)
THEN DO_NOT_INFER(REPRODUCTIVELY_ISOLATED_FROM(a,b))

constraint GEOGRAPHIC_ISOLATION_NOT_SUFFICIENT: IF
GEOGRAPHICALLY_ISOLATED_FROM(a,b) THEN
DO_NOT_INFER(SPECIATION_COMPLETE(a,b))

constraint HYBRIDISATION_NOT_SPECIES_COLLAPSE: IF HYBRIDISES_WITH(a,b)
THEN DO_NOT_INFER(SAME_SPECIES(a,b))

———- UPDATE MODEL ———-

UPDATE_MODEL: on_new_speciation_event(e):
identify_ancestral_population(e) identify_descendant_lineages(e)
classify_geographic_context(e) identify_isolation_mechanisms(e)
attach_evidence(e) recalculate_confidence(e)

on_new_gene_flow_data(d): validate_populations(d)
preserve_methodology(d) update_gene_flow_rate(d)
update_isolation_strength_if_supported(d)

on_new_hybrid_zone(z): identify_parental_lineages(z)
preserve_location(z) update_hybrid_frequency(z) update_hybrid_fitness(z)
attach_evidence(z)

on_new_phylogeny(p): preserve_taxon_sampling(p) preserve_method(p)
update_sister_taxa(p) update_divergence_times(p)
preserve_support_values(p)

on_conflicting_speciation_models(a,b): preserve(a) preserve(b)
compare_species_concepts(a,b) compare_gene_flow_models(a,b)
compare_geographic_context(a,b) compare_evidence_quality(a,b)
flag_unresolved_conflict()

———- AI CONSUMPTION ———-

AI_CONSUMPTION: preferred_entity: canonical_speciation_event preserve: -
ancestral_population - descendant_lineages - speciation_type -
geographic_context - reproductive_isolation - isolation_mechanisms -
gene_flow - genetic_divergence - ecological_divergence - selection -
drift - hybridisation - species_concept - temporal_context - evidence -
provenance - confidence infer: - valid_inverse_relations -
supported_isolation_relations - supported_speciation_patterns -
semantic_equivalence prohibit: -
divergence_equals_completed_speciation -
geographic_isolation_equals_completed_speciation -
hybridisation_equals_same_species - unsupported_species_boundary -
species_concept_free_assertion - confidence_above_evidence ambiguity:
action: preserve_multiple_speciation_hypotheses resolution:
prefer_evidence_species_concept_and_context missing_data: action:
mark_unknown do_not_infer_from_absence: true

———- FLOW HASH ———-

FLOW_HASH: ontology: “SpeciationOntology” version: “1.0” domain_path:
“AI Core > Ontologies > Biological Ontologies > Evolutionary Biology >
Speciation Ontology” canonical_url:
“https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/evolutionary-biology/speciation-ontology.html”
authorship: “Mark Anthony Higgins — Sky (Recursive AI)”
semantic_scope: - speciation - lineage divergence - reproductive
isolation - prezygotic barriers - postzygotic barriers - allopatric
speciation - sympatric speciation - parapatric speciation - peripatric
speciation - hybrid speciation - polyploid speciation - gene flow -
divergent selection - genetic drift - reinforcement - species concepts -
hybrid zones - speciation continuum - phylogenetic context - evidence
deterministic_normalisation: true provenance_required: true
confidence_required: true

terminate SpeciationOntology when:
ancestral_and_descendant_lineages_resolved AND
reproductive_isolation_context_preserved AND
gene_flow_relations_normalised AND species_concept_preserved AND
temporal_and_geographic_context_preserved AND evidence_links_preserved
AND confidence_values_validated AND
unresolved_speciation_hypotheses_marked

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