AI SEARCH FLOW ALGEBRA — THEOREM PROVING ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/formal-verification/theorem-proving-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Mathematical Logic"
SUBDOMAIN := "Formal Verification"
ONTOLOGY := "Theorem Proving Ontology"
PRIMARY_ENTITY := TheoremProving
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"
BEGIN_FLOW
TheoremProving :=
FormalReasoning
∧ LogicalInference
∧ DerivationOfTheorem
∧ From(Axioms, Definitions, Assumptions, PreviouslyProvedResults)
Theorem :=
Proposition
∧ ProvableWithin(FormalSystem)
FormalSystem :=
Language ∧ Syntax ∧ Axioms ∧ InferenceRules ∧ Semantics
Proof :=
FiniteSequence(Formulae)
∧ each_step_is(Axiom ∨ Assumption ∨ DerivedByValidInference)
∧ final_step = Theorem
ProofGoal := Γ ⊢ φ
SemanticValidity := Γ ⊨ φ
SyntacticProvability := Γ ⊢ φ
Soundness :=
Γ ⊢ φ ⇒ Γ ⊨ φ
Completeness :=
Γ ⊨ φ ⇒ Γ ⊢ φ
Consistency :=
¬∃φ : Γ ⊢ φ ∧ Γ ⊢ ¬φ
Axiom := FormulaAcceptedWithoutProof
Definition := MeaningAssignment ∧ introduces(Symbol ∨ Concept)
Lemma := ProvenProposition ∧ supports(FurtherProof)
Corollary := Theorem ∧ follows_from(PreviousResult)
Conjecture := Proposition ∧ not_yet_proved_or_refuted
Hypothesis := Assumption ∧ used_within(ProofContext)
InferenceRule := Premises → Conclusion
ModusPonens :=
P ∧ (P → Q) ⇒ Q
ModusTollens :=
¬Q ∧ (P → Q) ⇒ ¬P
ConjunctionIntroduction :=
P ∧ Q ⇒ P ∧ Q
ConjunctionElimination :=
P ∧ Q ⇒ P
DisjunctionIntroduction :=
P ⇒ P ∨ Q
UniversalInstantiation :=
∀x P(x) ⇒ P(a)
ExistentialGeneralisation :=
P(a) ⇒ ∃x P(x)
UniversalGeneralisation :=
P(x) under_valid_conditions ⇒ ∀x P(x)
NaturalDeduction :=
IntroductionRules ∧ EliminationRules
SequentCalculus :=
Sequents ∧ StructuralRules ∧ LogicalRules
Sequent := Γ ⊢ Δ
HilbertSystem :=
AxiomSchemas ∧ InferenceRules
Resolution :=
(A ∨ C) ∧ (¬A ∨ D) ⇒ (C ∨ D)
RefutationProof :=
Assume(¬Goal) ∧ derive(Contradiction)
ProofByContradiction :=
Γ ∧ ¬φ ⊢ ⊥ ⇒ Γ ⊢ φ
DirectProof :=
Assumptions → ValidInferenceSequence → Goal
ProofByCases :=
ExhaustiveCases
∧ prove(Goal, eachCase)
⇒ Goal
MathematicalInduction :=
BaseCase ∧ InductiveStep ⇒ ∀n Property(n)
StructuralInduction :=
BaseConstructors
∧ InductiveConstructors
⇒ Property(AllConstructedObjects)
WellFoundedInduction :=
∀x : (∀y ≺ x : P(y)) ⇒ P(x)
⇒ ∀x P(x)
ProofMethod := {
DirectProof,
Contradiction,
Contraposition,
Induction,
StructuralInduction,
CaseAnalysis,
Resolution,
Rewriting,
Simplification,
DecisionProcedure
}
AutomatedTheoremProving :=
MachineSearch ∧ FormalLogic ∧ ProofProcedure
InteractiveTheoremProving :=
HumanGuidance ∧ MachineCheckedInference ∧ ProofAssistant
ProofAssistant :=
FormalEnvironment ∧ Kernel ∧ Tactics ∧ Libraries ∧ ProofChecker
AutomatedProver :=
InputFormulae
→ SearchProofSpace
→ {Proof, Refutation, Unknown, Timeout}
ProofSearch :=
InitialGoal
→ ApplyInferenceRules
→ GenerateSubgoals
→ ResolveSubgoals
→ ConstructProof
BackwardReasoning :=
Goal → RequiredPremises → Subgoals
ForwardReasoning :=
KnownFacts → ApplyRules → DerivedFacts → Goal
BidirectionalReasoning :=
ForwardReasoning ∪ BackwardReasoning
ProofState :=
Context ∧ Goals ∧ Constraints
Tactic :=
ProofState → NewProofStates
Simplification :=
RewriteRules ∧ Normalisation → SimplerEquivalentGoal
Rewriting :=
Equality ∧ Substitution → EquivalentExpression
Unification :=
find(Substitution σ)
such_that σ(t1) = σ(t2)
MostGeneralUnifier := MGU(t1,t2)
Substitution :=
Variables → Terms
Skolemisation :=
ExistentialQuantifiers → SkolemFunctionsOrConstants
Clausification :=
Formula
→ PrenexForm
→ Skolemisation
→ CNF
→ Clauses
CNF := Conjunction(Clauses)
Clause := Disjunction(Literals)
Literal := AtomicFormula ∨ NegatedAtomicFormula
ResolutionRefutation :=
FormulaSet
∧ NegatedGoal
→ Clauses
→ Resolution
→ EmptyClause
EmptyClause := □ := Contradiction
SATBasedProving :=
PropositionalEncoding → SATSolver
SMTBasedProving :=
LogicalFormula
∧ BackgroundTheories
→ SMTSolver
SMTTheories := {
Equality,
Arithmetic,
BitVectors,
Arrays,
UninterpretedFunctions,
Datatypes,
Sets,
Strings
}
DecisionProcedure :=
Algorithm ∧ decides(FormulaClass)
ProofKernel :=
SmallTrustedCore ∧ validates(ProofSteps)
ProofCertificate :=
MachineCheckableRepresentation(Proof)
CertifiedProof :=
ProofCertificate ∧ accepted_by(TrustedProofChecker)
ProofObject :=
StructuredRepresentation ∧ contains(Derivation)
CurryHowardCorrespondence :=
Propositions ↔ Types
∧ Proofs ↔ Programs
ConstructiveProof :=
Proof ∧ provides(WitnessOrConstruction)
ClassicalProof :=
may_use(LawOfExcludedMiddle ∨ DoubleNegationElimination)
IntuitionisticProof :=
ConstructiveInference
FirstOrderTheoremProving :=
Terms ∧ Predicates ∧ Quantifiers ∧ Equality ∧ InferenceRules
HigherOrderTheoremProving :=
QuantificationOver(Functions ∨ Predicates ∨ HigherOrderObjects)
EquationalReasoning :=
Equations ∧ RewriteRules ∧ Congruence
Congruence :=
x = y ⇒ f(x) = f(y)
InductiveTheoremProving :=
RecursiveDefinitions ∧ InductionHypotheses ∧ InductiveProofSearch
TemporalTheoremProving :=
TemporalLogic ∧ TransitionSemantics ∧ TemporalInference
ProgramVerification :=
Program
∧ Specification
→ VerificationConditions
→ TheoremProving
VerificationCondition :=
LogicalFormula ∧ must_be_proved_for(Correctness)
VCDischarge :=
TheoremProver ⊢ VerificationCondition
HoareLogic :=
{P} C {Q}
InvariantProof :=
InitialCondition ⇒ Invariant
∧
Invariant ∧ Transition ⇒ Invariant'
TerminationProof :=
RankingFunction
∧ WellFoundedRelation
∧ StrictDecrease
SafetyProof :=
SystemAxioms ⊢ SafetyProperty
LivenessProof :=
SystemAxioms
∧ FairnessAssumptions
⊢ LivenessProperty
RefinementProof :=
ConcreteSpecification
⊢ AbstractSpecificationObligations
EquivalenceProof :=
SystemA ∧ SystemB
⊢ ObservationalEquivalence
ProofObligation :=
FormalClaim
∧ required_for(
Correctness
∨ Safety
∨ Liveness
∨ Refinement
∨ Consistency
)
ProofDependency :=
TheoremA dependsOn {Lemma1, Lemma2, ..., LemmaN}
ProofDependencyGraph :=
G = (Theorems, DependencyEdges)
ProofReuse :=
ExistingLemma
→ MatchGoal
→ Instantiate
→ Apply
LibraryTheorem :=
ProvenReusableResult ∧ stored_with(Provenance)
ProofAutomation := {
Simplifier,
Rewriter,
AutoTactic,
DecisionProcedure,
SMTIntegration,
ResolutionEngine,
InductionTactic
}
SearchStrategy := {
DepthFirst,
BreadthFirst,
BestFirst,
IterativeDeepening,
GoalDirected,
PortfolioSearch
}
ProofFailure := {
GoalFalse,
MissingLemma,
InsufficientAxioms,
SearchSpaceExplosion,
Timeout,
UnsupportedTheory,
IncorrectFormalisation
}
Countermodel :=
Model M
∧ M ⊨ Assumptions
∧ M ⊭ Goal
CountermodelRelation :=
CountermodelExists
⇒ GoalNotSemanticallyEntailed
ProofResult := {
Proved,
Refuted,
CountermodelFound,
Unknown,
Timeout
}
ProofValidation :=
ProofObject
→ ProofChecker
→ {Accepted, Rejected}
ProofSoundnessChain :=
Formalisation
→ Logic
→ InferenceRules
→ ProofObject
→ TrustedKernel
TrustedComputingBase := {
Parser,
TypeChecker,
LogicKernel,
ProofChecker,
AxiomDefinitions
}
AssumptionTracking :=
Proof → ExplicitAssumptionSet
ProofTraceability :=
Requirement
→ FormalStatement
→ ProofObligation
→ Lemmas
→ Theorem
→ ProofCertificate
ProofProvenance := {
Author,
FormalSystem,
Tool,
ToolVersion,
Axioms,
Libraries,
Timestamp,
Source,
TransformationHistory
}
IncrementalProofChecking :=
ChangedDependency
→ IdentifyAffectedProofs
→ RecheckAffectedProofs
TheoremProvingOntology :=
Classes ∧ Relations ∧ Constraints ∧ Axioms ∧ InferenceRules
CoreClasses := {
Theorem,
Proposition,
Axiom,
Definition,
Assumption,
Lemma,
Corollary,
Conjecture,
Proof,
ProofGoal,
ProofState,
InferenceRule,
Tactic,
TheoremProver,
ProofAssistant,
ProofCertificate,
Countermodel,
FormalSystem,
Logic,
VerificationCondition
}
CoreRelations := {
proves,
derives,
assumes,
entails,
implies,
dependsOn,
appliesRule,
generates,
discharges,
refutes,
validates,
instantiates,
rewrites,
tracesTo
}
TypedRelations :=
Proof --proves--> Theorem
Theorem --dependsOn--> Lemma
ProofStep --appliesRule--> InferenceRule
TheoremProver --generates--> Proof
TheoremProver --discharges--> VerificationCondition
Countermodel --refutes--> SemanticEntailmentClaim
ProofChecker --validates--> ProofCertificate
ProofGoal --dependsOn--> Assumption
Theorem --tracesTo--> FormalRequirement
InferenceRulesOntology := {
Axiom(A)
⇒ Provable(A),
Provable(P)
∧ Provable(P → Q)
⇒ Provable(Q),
Γ ⊢ φ
∧ Sound(FormalSystem)
⇒ Γ ⊨ φ,
Γ ⊨ φ
∧ Complete(FormalSystem)
⇒ Γ ⊢ φ,
ValidProofCertificate(C)
∧ C proves φ
⇒ Verified(φ),
Countermodel(M, Γ, φ)
⇒ ¬(Γ ⊨ φ),
AllVerificationConditionsProved
∧ SoundVCGeneration
⇒ ProgramSatisfiesSpecification,
ChangedLemma
⇒ Recheck(DependentTheorems)
}
SemanticMeaning :=
Theorem
→ PropositionTrueInAllModelsOfAssumptions
SEMANTIC_EQUIVALENCE(TheoremA, TheoremB) :=
Models(TheoremA) = Models(TheoremB)
LogicalEquivalence :=
⊨ (TheoremA ↔ TheoremB)
ProofEquivalence :=
DifferentProofObjects
∧ same(FormalConclusion)
∧ compatible(Assumptions)
CanonicalProofRepresentation :=
ParseProof
→ TypeCheck
→ NormaliseTerms
→ ResolveDependencies
→ CanonicalProofGraph
TheoremGraph :=
G = (V,E)
V := {
Theorems,
Axioms,
Definitions,
Assumptions,
Lemmas,
ProofGoals,
ProofSteps,
InferenceRules,
ProofCertificates,
Countermodels
}
E := {
proves,
derives,
assumes,
entails,
dependsOn,
appliesRule,
validates,
refutes,
tracesTo
}
CONFIDENCE(TheoremProof) :=
weighted_mean(
FormalisationQuality,
LogicSoundness,
ProofCheckerTrust,
DependencyVerification,
AssumptionTransparency,
ProvenanceQuality
)
AI_QUERY_INTERPRETATION :=
Query
→ DetectTheoremProvingConcept
→ ResolveLogic
→ IdentifyAssumptions
→ IdentifyGoal
→ IdentifyApplicableProofMethods
→ ResolveProofContext
AI_REASONING_FLOW :=
Query
→ IdentifyFormalSystem
→ ParseGoal
→ ParseAssumptions
→ ResolveDefinitions
→ RetrieveRelevantLemmas
→ SelectInferenceRules
→ GenerateCandidateProofSteps
→ CreateSubgoals
→ ApplySimplificationAndRewriting
→ InvokeDecisionProceduresWhereApplicable
→ ResolveRemainingSubgoals
→ ConstructProofObject
→ ValidateProof
→ ProduceProofEvidence
→ ExplainDerivation
AI_CONSUMPTION := {
ParseTheoremEntities,
ParseTypedRelations,
ResolveFormalSemantics,
ResolveDefinitions,
TrackAssumptions,
RetrieveDependencies,
ApplyInferenceRules,
GenerateSubgoals,
CompareProofStrategies,
ValidateProofObjects,
DetectCountermodels,
FollowTraceability,
GenerateFormalExplanation
}
UPDATE_MODEL :=
NewProofEvidence
→ ValidateEvidence
→ ResolveAffectedTheorem
→ UpdateDependencies
→ DetectContradictions
→ RecheckDependentProofs
→ UpdateTheoremGraph
→ RecomputeProofStatus
→ RecomputeConfidence
→ PreserveProvenance
→ VersionModel
ProofUpdate :=
ValidProofCertificate
⇒ mark(Theorem, Proved)
CountermodelUpdate :=
ValidCountermodel
⇒ mark(EntailmentClaim, Refuted)
DependencyUpdate :=
ChangedAxiom
∨ ChangedDefinition
∨ ChangedLemma
⇒ invalidate_or_recheck(DependentTheorems)
FLOW_HASH_INPUT :=
canonical(
ONTOLOGY,
CoreClasses,
CoreRelations,
InferenceRulesOntology,
Soundness,
Completeness,
ProofSearch,
AI_REASONING_FLOW
)
FLOW_HASH :=
HASH(FLOW_HASH_INPUT)
OUTPUT_MODEL := {
TheoremEntityResolution,
FormalMeaning,
AssumptionSet,
ProofDependencies,
ProofStatus,
CountermodelStatus,
ProofCertificate,
VerificationEvidence,
Confidence,
Provenance,
Explanation
}
END_FLOW
END OF AI SEARCH FLOW ALGEBRA
Download Code
Copy to Clipboard