flow “CommonAncestorOntology” v1.0
KIRETH SEMANTIC RESEARCH ARCHIVE
AI CORE > ONTOLOGIES > BIOLOGICAL ONTOLOGIES > EVOLUTIONARY BIOLOGY > COMMON ANCESTOR 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/common-ancestor-ontology.html”
type Organism type Species type Population type Taxon type Lineage type
Ancestor type CommonAncestor type Descendant type Phylogeny type Clade
type Node type Character type Trait type Sequence type Fossil type
Observation type Evidence type Source
———- ANCESTRY ———-
relation INSTANCE_OF(entity,type) relation
DESCENDED_FROM(descendant,ancestor) relation
ANCESTOR_OF(ancestor,descendant) relation SHARES_ANCESTOR_WITH(a,b)
relation COMMON_ANCESTOR_OF(ancestor,a,b) relation
MOST_RECENT_COMMON_ANCESTOR(a,b,ancestor) relation
HAS_ANCESTRAL_LINEAGE(entity,lineage)
rule DESCENT_INVERSE(a,b): IF DESCENDED_FROM(a,b) THEN ANCESTOR_OF(b,a)
rule COMMON_ANCESTRY(a,b,c): IF DESCENDED_FROM(a,c) AND
DESCENDED_FROM(b,c) THEN SHARES_ANCESTOR_WITH(a,b) AND
COMMON_ANCESTOR_OF(c,a,b)
———- MOST RECENT COMMON ANCESTOR ———-
relation MRCA_NODE_OF(node,a,b) relation
MORE_RECENT_THAN(ancestor_a,ancestor_b) relation
OLDER_THAN(entity_a,entity_b)
rule MRCA_CONSTRAINT(a,b,c): IF MOST_RECENT_COMMON_ANCESTOR(a,b,c) THEN
COMMON_ANCESTOR_OF(c,a,b)
constraint MRCA_MUST_BE_COMMON_ANCESTOR: IF
MOST_RECENT_COMMON_ANCESTOR(a,b,c) THEN REQUIRE(DESCENDED_FROM(a,c)) AND
REQUIRE(DESCENDED_FROM(b,c))
———- PHYLOGENETIC CONTEXT ———-
relation MEMBER_OF_PHYLOGENY(taxon,phylogeny) relation
HAS_NODE(phylogeny,node) relation
NODE_REPRESENTS_ANCESTOR(node,ancestor) relation
PARENT_NODE_OF(parent,child) relation CHILD_NODE_OF(child,parent)
relation ROOT_NODE_OF(node,phylogeny) relation
BRANCHES_FROM(lineage,node)
rule NODE_INVERSE(a,b): IF PARENT_NODE_OF(a,b) THEN CHILD_NODE_OF(b,a)
———- CLADE CONTEXT ———-
relation ROOT_ANCESTOR_OF_CLADE(ancestor,clade) relation
CLADE_CONTAINS(clade,taxon) relation MEMBER_OF_CLADE(taxon,clade)
relation CLADE_ROOTED_AT(clade,node)
rule CLADE_MEMBERSHIP_INVERSE(c,t): IF CLADE_CONTAINS(c,t) THEN
MEMBER_OF_CLADE(t,c)
———- ANCESTRAL STATES ———-
relation ANCESTRAL_CHARACTER_STATE(ancestor,character,state) relation
ANCESTRAL_TRAIT_STATE(ancestor,trait,state) relation
DERIVED_CHARACTER_STATE(descendant,character,state) relation
INHERITS_CHARACTER_FROM(descendant,ancestor,character) relation
INHERITS_TRAIT_FROM(descendant,ancestor,trait)
rule CHARACTER_INHERITANCE(d,a,c): IF INHERITS_CHARACTER_FROM(d,a,c)
THEN DESCENDED_FROM(d,a)
———- ANCESTRAL STATE RECONSTRUCTION ———-
enum ReconstructionMethod: MAXIMUM_PARSIMONY MAXIMUM_LIKELIHOOD
BAYESIAN_RECONSTRUCTION STOCHASTIC_CHARACTER_MAPPING COMPARATIVE_METHOD
relation RECONSTRUCTED_BY(state,method) relation
RECONSTRUCTION_PROBABILITY(state,value) relation
RECONSTRUCTION_SUPPORT(state,value) relation
USES_CHARACTER_DATA(reconstruction,dataset)
constraint RECONSTRUCTION_PROBABILITY_BOUNDS: IF
RECONSTRUCTION_PROBABILITY(s,p) THEN REQUIRE(0.0 <= p <= 1.0)
———- MOLECULAR ANCESTRY ———-
relation HAS_SEQUENCE(entity,sequence) relation
SEQUENCE_HOMOLOGY(a,b,value) relation ANCESTRAL_SEQUENCE(node,sequence)
relation SEQUENCE_RECONSTRUCTED_FROM(sequence,dataset) relation
SUBSTITUTION_FROM_TO(branch,state_a,state_b)
———- HOMOLOGY ———-
relation HOMOLOGOUS_TO(a,b) relation
DERIVED_FROM_ANCESTRAL_FEATURE(feature,ancestral_feature) relation
SYNAPOMORPHY_OF(character,clade) relation HOMOPLASY_OF(character,taxa)
rule HOMOLOGY_SYMMETRY(a,b): IF HOMOLOGOUS_TO(a,b) THEN
HOMOLOGOUS_TO(b,a)
———- DIVERGENCE ———-
relation DIVERGES_FROM(a,b) relation DIVERGENCE_EVENT(a,b,event)
relation DIVERGENCE_TIME(a,b,time) relation
DESCENDANT_LINEAGE_OF(lineage,ancestor) relation
SPLITS_INTO(ancestor,lineages)
———- TEMPORAL CONTEXT ———-
relation EXISTS_AT(ancestor,time) relation NODE_AGE(node,time) relation
ANCESTOR_AGE_RANGE(ancestor,range) relation CALIBRATED_BY(node,evidence)
relation MOLECULAR_CLOCK_RATE(lineage,rate)
———- FOSSIL EVIDENCE ———-
relation FOSSIL_OF(fossil,taxon) relation DATED_TO(fossil,time) relation
PRESERVES_CHARACTER(fossil,character) relation
CLOSE_TO_ANCESTRAL_STATE(fossil,ancestor) relation
CALIBRATES_ANCESTOR(fossil,ancestor)
constraint FOSSIL_NOT_AUTOMATIC_DIRECT_ANCESTOR: IF FOSSIL_OF(f,t) THEN
DO_NOT_INFER(ANCESTOR_OF(f,t))
———- EXTANT / INFERRED ANCESTORS ———-
relation EXTANT_TAXON(entity) relation EXTINCT_TAXON(entity) relation
INFERRED_ANCESTOR(entity) relation
DIRECT_ANCESTOR_CANDIDATE(entity,descendant)
constraint EXTANT_NOT_AUTOMATIC_ANCESTOR: IF EXTANT_TAXON(a) THEN
DO_NOT_INFER(ANCESTOR_OF(a,b)) WITHOUT direct_evidence
constraint INFERRED_ANCESTOR_MARKING: IF INFERRED_ANCESTOR(a) THEN
PRESERVE_INFERRED_STATUS(a)
———- POPULATION ANCESTRY ———-
relation ANCESTRAL_POPULATION_OF(population,descendant_population)
relation DESCENDANT_POPULATION_OF(population,ancestor_population)
relation POPULATION_SPLIT(event,ancestor,descendants) relation
GENE_FLOW_AFTER_SPLIT(a,b,rate) relation
EFFECTIVE_POPULATION_SIZE(population,value)
———- COALESCENT CONTEXT ———-
relation COALESCES_AT(lineage_a,lineage_b,ancestor) relation
COALESCENCE_TIME(a,b,time) relation
GENEALOGICAL_ANCESTOR_OF(ancestor,lineage) relation
COALESCENT_MODEL(model,population)
constraint GENEALOGY_NOT_SPECIES_PHYLOGENY: IF
GENEALOGICAL_ANCESTOR_OF(a,l) THEN DO_NOT_INFER(SPECIES_ANCESTOR(a))
WITHOUT species_level_evidence
———- UNIVERSAL / DEEP ANCESTRY ———-
relation DEEP_COMMON_ANCESTOR_OF(ancestor,taxa) relation
UNIVERSAL_COMMON_ANCESTRY_HYPOTHESIS(hypothesis) relation
SUPPORTS_DEEP_ANCESTRY(evidence,hypothesis)
———- BIOGEOGRAPHIC CONTEXT ———-
relation ANCESTRAL_RANGE(ancestor,region) relation
DESCENDANT_RANGE(descendant,region) relation
DISPERSAL_AFTER_DIVERGENCE(descendant,region) relation
VICARIANCE_AT(event,region)
———- EVIDENCE ———-
relation OBSERVES(observation,entity) relation
SUPPORTED_BY(assertion,evidence) relation DERIVED_FROM(evidence,source)
relation HAS_CONFIDENCE(assertion,score) relation
OBSERVED_AT(observation,location) relation
OBSERVED_ON(observation,datetime)
enum EvidenceType: PHYLOGENETIC MOLECULAR GENOMIC MORPHOLOGICAL
DEVELOPMENTAL FOSSIL BIOGEOGRAPHIC COALESCENT
ANCESTRAL_STATE_RECONSTRUCTION MOLECULAR_CLOCK COMPARATIVE 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: “common ancestor” ~= “shared evolutionary
ancestor” “most recent common ancestor” ~= “MRCA” “ancestral lineage” ~=
“ancestor lineage” “ancestral state” ~= “inferred ancestral character
state” “ancestral state reconstruction” ~= “reconstruction of ancestral
traits” “ancestral sequence” ~= “reconstructed ancestral sequence”
“common descent” ~= “descent from a shared ancestor” “coalescent
ancestor” ~= “genealogical common ancestor” “root ancestor” ~= “ancestor
represented at a phylogenetic root” “direct ancestor” ~= “ancestor lying
directly on a descendant lineage”
rule NORMALISE_TERM(term): IF term MATCHES SEMANTIC_EQUIVALENCE.alias
THEN MAP_TO_CANONICAL(term)
———- QUERY MODEL ———-
query COMMON_ANCESTOR_PROFILE(a): RETURN: descendants(a)
clades_rooted_by(a) phylogenetic_nodes(a) ancestral_states(a)
ancestral_sequences(a) age(a) range(a) evidence(a) confidence(a)
query MRCA_PROFILE(a,b): RETURN: most_recent_common_ancestor(a,b)
mrca_node(a,b) divergence_time(a,b) shared_characters(a,b)
supporting_evidence(a,b)
query ANCESTRAL_STATE_PROFILE(a): RETURN: reconstructed_characters(a)
reconstructed_traits(a) reconstruction_methods(a)
reconstruction_probabilities(a) supporting_datasets(a)
query TRACE_DESCENT(a,d): RETURN: ancestry_path(a,d)
intermediate_nodes(a,d) divergence_events(a,d) inherited_features(a,d)
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 SISTER_NOT_ANCESTOR: IF sister_taxa(a,b) THEN
DO_NOT_INFER(ANCESTOR_OF(a,b)) AND DO_NOT_INFER(ANCESTOR_OF(b,a))
constraint RECONSTRUCTION_NOT_OBSERVATION: IF
RECONSTRUCTED_BY(state,method) THEN MARK_AS_INFERRED(state)
constraint COMMON_ANCESTOR_NOT_DIRECT_ANCESTOR: IF
COMMON_ANCESTOR_OF(a,x,y) THEN
DO_NOT_INFER(DIRECT_ANCESTOR_CANDIDATE(a,x)) WITHOUT
direct_ancestry_evidence
———- UPDATE MODEL ———-
UPDATE_MODEL: on_new_ancestor_hypothesis(a): identify_descendant_taxa(a)
identify_phylogenetic_node(a) preserve_inferred_or_observed_status(a)
attach_evidence(a) recalculate_confidence(a)
on_new_phylogeny(p): update_common_ancestor_relations(p)
update_mrca_relations(p) preserve_rooting(p) preserve_support_values(p)
on_new_ancestral_reconstruction(r): identify_character_or_sequence(r)
preserve_reconstruction_method(r) preserve_probability_or_support(r)
mark_as_inferred(r)
on_new_fossil(f): validate_taxonomic_assignment(f) preserve_age(f)
preserve_character_data(f) evaluate_calibration_role(f)
avoid_direct_ancestor_assumption(f)
on_conflicting_ancestor_hypotheses(a,b): preserve(a) preserve(b)
compare_phylogenies(a,b) compare_datasets(a,b)
compare_reconstruction_methods(a,b) compare_support(a,b)
flag_unresolved_conflict()
———- AI CONSUMPTION ———-
AI_CONSUMPTION: preferred_entity: canonical_common_ancestor preserve: -
ancestor_identity - inferred_status - descendant_taxa -
lineage_context - phylogenetic_node - clade_context - mrca_relations -
ancestral_states - ancestral_sequences - divergence_times -
temporal_range - fossil_calibrations - evidence - provenance -
confidence infer: - valid_descent_inverse - supported_common_ancestry -
supported_mrca_relations - semantic_equivalence prohibit: -
sister_taxon_equals_ancestor -
extant_taxon_equals_ancestor_without_evidence -
fossil_equals_direct_ancestor_without_evidence -
reconstructed_state_as_direct_observation -
genealogical_ancestor_equals_species_ancestor -
confidence_above_evidence ambiguity: action:
preserve_multiple_ancestor_hypotheses resolution:
prefer_phylogeny_dataset_method_and_support missing_data: action:
mark_unknown do_not_infer_from_absence: true
———- FLOW HASH ———-
FLOW_HASH: ontology: “CommonAncestorOntology” version: “1.0”
domain_path: “AI Core > Ontologies > Biological Ontologies >
Evolutionary Biology > Common Ancestor Ontology” canonical_url:
“https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/evolutionary-biology/common-ancestor-ontology.html”
authorship: “Mark Anthony Higgins — Sky (Recursive AI)”
semantic_scope: - common ancestry - most recent common ancestors -
ancestral lineages - phylogenetic nodes - clade ancestors - ancestral
character states - ancestral state reconstruction - ancestral
sequences - homology - divergence - fossil calibration - inferred
ancestors - population ancestry - coalescent ancestry - deep common
ancestry - biogeographic ancestry - evidence
deterministic_normalisation: true provenance_required: true
confidence_required: true
terminate CommonAncestorOntology when:
ancestor_and_descendant_relations_resolved AND mrca_relations_normalised
AND inferred_status_preserved AND reconstruction_uncertainty_preserved
AND fossil_and_temporal_context_preserved AND evidence_links_preserved
AND confidence_values_validated AND
unresolved_ancestor_hypotheses_marked
end flow
Download Code
Copy to Clipboard