Skip to main content

Finite Set Ontology

Foundations of Discrete Mathematics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 11 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: Finite Set Ontology
VERSION: 1.0
DOMAIN: Discrete Mathematics / Foundations / Finite Sets
SOURCE_URL: https://kirethresearch.org/booksai-core/discrete-mathematics-ontologies/foundations-of-discrete-mathematics/finite-set-ontology.html
STATUS: Domain-based formalisation; source page content not independently verified.
AUTHORS: Mark Higgins — Sky (Recursive AI)
PROJECT: Kireth Semantic Library

1. ONTOLOGY DECLARATION
ontology FiniteSetOntology {
  namespace: kireth:discrete:finite_set
  parent: DiscreteMathematicsOntology
  semantics: classical_set_theory
  assumptions: extensionality, classical_logic
}

2. TYPED ENTITIES
entity Set { members: Collection[Object] }
entity FiniteSet extends Set { cardinality: NaturalNumber }
entity EmptySet extends FiniteSet { cardinality: 0 }
entity SingletonSet extends FiniteSet { cardinality: 1 }
entity Element { identity: Identifier }
entity NaturalNumber { value: Integer where value >= 0 }
entity SubsetRelation { subset: Set; superset: Set }
entity Function { domain: Set; codomain: Set; mapping: Relation }
entity Bijection extends Function { injective: true; surjective: true }
entity Enumeration { set: FiniteSet; sequence: Sequence[Element] }
entity Partition { base: FiniteSet; blocks: Set[FiniteSet] }

3. RELATIONSHIP SIGNATURES
MEMBER_OF(Element, Set) -> Boolean
SUBSET_OF(Set, Set) -> Boolean
PROPER_SUBSET_OF(Set, Set) -> Boolean
DISJOINT(Set, Set) -> Boolean
BIJECTIVE_WITH(Set, Set) -> Boolean
HAS_CARDINALITY(FiniteSet, NaturalNumber) -> Boolean
ENUMERATES(Enumeration, FiniteSet) -> Boolean
PARTITIONS(Partition, FiniteSet) -> Boolean

4. OPERATORS
UNION(A:Set, B:Set) -> Set
INTERSECTION(A:Set, B:Set) -> Set
DIFFERENCE(A:Set, B:Set) -> Set
CARTESIAN_PRODUCT(A:Set, B:Set) -> Set
POWER_SET(A:Set) -> Set
CARDINALITY(A:FiniteSet) -> NaturalNumber

5. FORMAL AXIOMS AND INFERENCE RULES
R1: FINITE(A) iff EXISTS n in NaturalNumber, EXISTS bijection A <-> {0,...,n-1}.
R2: A = B iff FOR_ALL x, (x in A iff x in B).
R3: A SUBSET_OF B iff FOR_ALL x, (x in A implies x in B).
R4: FINITE(A) and B SUBSET_OF A implies FINITE(B).
R5: FINITE(A) and FINITE(B) implies FINITE(UNION(A,B)).
R6: FINITE(A) and FINITE(B) implies FINITE(CARTESIAN_PRODUCT(A,B)).
R7: FINITE(A) implies CARDINALITY(POWER_SET(A)) = 2 ^ CARDINALITY(A).
R8: FINITE(A) and FINITE(B) implies CARDINALITY(UNION(A,B)) = CARDINALITY(A) + CARDINALITY(B) - CARDINALITY(INTERSECTION(A,B)).
R9: FINITE(A) and FINITE(B) implies CARDINALITY(CARTESIAN_PRODUCT(A,B)) = CARDINALITY(A) * CARDINALITY(B).
R10: A and B finite and BIJECTIVE_WITH(A,B) implies CARDINALITY(A) = CARDINALITY(B).
R11: A finite and injective f:A->A implies surjective(f).
R12: A finite and surjective f:A->A implies injective(f).
R13: EMPTY_SET = {} and CARDINALITY(EMPTY_SET) = 0.
R14: FINITE(A) and x not in A implies CARDINALITY(A UNION {x}) = CARDINALITY(A) + 1.
R15: For finite A and B, CARDINALITY(A) > CARDINALITY(B) implies no injection A->B (pigeonhole principle).

6. VALIDATION AND CONSTRAINTS
C1: CARDINALITY(A) >= 0.
C2: A reported enumeration must contain every member exactly once.
C3: Every partition block is nonempty, blocks are pairwise disjoint, and their union equals the base set.
C4: Finite-set cardinality must not be inferred from an incomplete listing without a completeness assertion.
C5: Equality requires extensional identity, not merely equal cardinality.

7. SEMANTIC_EQUIVALENCE
FiniteSet ~= SetWithFiniteCardinality [logical equivalence under R1]
EmptySet ~= SetOfCardinalityZero
SingletonSet ~= SetOfCardinalityOne
EquinumerousFiniteSets ~= FiniteSetsWithEqualCardinality
NOTE: Semantic aliases do not imply identical instances.

8. CONFIDENCE
CONFIDENCE(assertion) := {
  value: Real in [0,1],
  basis: {formal_proof | verified_computation | cited_source | heuristic},
  uncertainty: Optional[String]
}
Mathematical derivations require valid premises and proof or computation; confidence is not a substitute for proof.

9. PROVENANCE
PROVENANCE(assertion) := {
  source_uri: Optional[URI],
  derivation_rule: Optional[RuleID],
  premises: List[AssertionID],
  timestamp: ISO8601,
  version: String
}

10. FLOW_HASH
FLOW_HASH := SHA256(canonicalise(ontology_id, version, typed_entities, axioms, rules, constraints))
Hash must be computed from the actual canonical serialisation; no placeholder digest is asserted.

11. UPDATE_MODEL
UPDATE_MODEL(change) := {
  validate_schema(change);
  verify_axiom_consistency(change);
  recheck_dependent_inferences(change);
  increment_version();
  recompute_FLOW_HASH();
  record_PROVENANCE(change);
}

12. AI_CONSUMPTION
AI_CONSUMPTION := {
  representation: typed_semantic_graph,
  supported_tasks: [set_membership, finite_cardinality, subset_reasoning, combinatorics, proof_assistance],
  reasoning_mode: deductive,
  verify_preconditions: true,
  distinguish_proved_from_assumed: true,
  expose_provenance: true,
  avoid_unsupported_cardinality_claims: true
}

13. EXECUTION EXAMPLE
INPUT: A = {a,b,c}; B = {b,c,d}
DERIVE: CARDINALITY(A) = 3; CARDINALITY(B) = 3
DERIVE: INTERSECTION(A,B) = {b,c}
APPLY R8: CARDINALITY(UNION(A,B)) = 3 + 3 - 2 = 4
OUTPUT: UNION(A,B) = {a,b,c,d}; cardinality = 4

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