FLOW_ALGEBRA ModelCheckingOntology v1.0 TARGET_URL :=
“https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/formal-verification/model-checking-ontology.html”
LANGUAGE := “en-GB” DOMAIN := MathematicalOntologies >
MathematicalLogicOntologies > FormalVerification > ModelCheckingOntology
BEGIN_FLOW
ENTITY ModelChecking { TYPE := AutomatedFormalVerificationMethod }
ENTITY FormalModel { TYPE := StateTransitionSystem } ENTITY Property {
TYPE := FormalRequirement } ENTITY State { TYPE := ModelConfiguration }
ENTITY Transition { TYPE := PermittedStateChange } ENTITY Counterexample
{ TYPE := PropertyViolationWitness } ENTITY VerificationResult { TYPE :=
ScopedModelCheckingOutcome }
RELATIONSHIP ModelChecking –is_part_of–> FormalVerification RELATIONSHIP
ModelChecking –analyses–> FormalModel RELATIONSHIP ModelChecking
–checks–> Property RELATIONSHIP ModelChecking –may_produce–>
Counterexample RELATIONSHIP ModelChecking –produces–> VerificationResult
TRANSITION_SYSTEM { COMPONENTS :=
{States,InitialStates,TransitionRelation,StateLabelling} }
REACHABLE_STATE { EXISTS path from InitialState to State } REACHABLE_SET
{ InitialStates + TransitionRelation -> ReachableStates } EXECUTION_PATH
{ State0 -> State1 -> State2 -> … } STATE_LABELLING { State ->
AtomicPropositionsTrueAtState }
PROPERTY_TYPES { MAY_INCLUDE :=
{Safety,Liveness,Invariant,Reachability,DeadlockFreedom,Fairness,TemporalProperty}
} SAFETY_PROPERTY { prohibited_condition never_reached }
LIVENESS_PROPERTY { required_progress eventually_occurs under
declared_path_semantics } INVARIANT { Property holds_for every
reachable_state } REACHABILITY_PROPERTY { EXISTS reachable_state
satisfying Target } DEADLOCK { reachable_state with no
enabled_transition } DEADLOCK_FREEDOM { no reachable_deadlock }
TEMPORAL_LOGIC { formal_language for properties_over_time } LTL {
ABBREVIATION := LinearTemporalLogic; SEMANTICS := LinearPaths }
LTL_OPERATORS { NEXT; EVENTUALLY; ALWAYS; UNTIL } CTL { ABBREVIATION :=
ComputationTreeLogic; SEMANTICS := BranchingTime } CTL_PATH_QUANTIFIERS
{ ALL_PATHS; EXISTS_PATH } CTL_STAR { combines state_and_path_formulae }
MU_CALCULUS_RELATIONSHIP { modal_mu_calculus ->
fixed_point_temporal_properties } FAIRNESS { restriction_on
admissible_paths } FAIRNESS_WARNING { exact_fairness_semantics MUST be
declared }
EXPLICIT_STATE_MODEL_CHECKING { ReachabilityTraversal -> GenerateStates
-> CheckProperty } DEPTH_FIRST_SEARCH { explores successor_states
depth_first } BREADTH_FIRST_SEARCH { explores successor_states
by_distance } VISITED_SET { prevents repeated_state_expansion }
ON_THE_FLY_MODEL_CHECKING { generate states only_as_needed }
STATE_SPACE_EXPLOSION { Concurrency + Data + Interleavings ->
LargeStateSpace }
SYMBOLIC_MODEL_CHECKING { StateSets + TransitionRelation ->
SymbolicRepresentation -> FixedPointReasoning } BDD { ABBREVIATION :=
BinaryDecisionDiagram } ROBDD { ABBREVIATION :=
ReducedOrderedBinaryDecisionDiagram } IMAGE_COMPUTATION {
CurrentStates + TransitionRelation -> SuccessorStates }
PREIMAGE_COMPUTATION { TargetStates + TransitionRelation ->
PredecessorStates } FIXED_POINT_REACHABILITY { InitialStates ->
RepeatedPostImage -> StableReachableSet } VARIABLE_ORDERING { BDD_size
MAY depend_strongly_on variable_order } BDD_WARNING {
SymbolicRepresentation MAY still suffer memory_explosion }
SAT_BASED_MODEL_CHECKING { VerificationProblem -> BooleanEncoding ->
SATSolver } BOUNDED_MODEL_CHECKING { ABBREVIATION := BMC; SearchDepth <=
BoundK } BMC_ENCODING { InitialCondition + TransitionSequence +
ViolationCondition -> SATOrSMTFormula } BMC_RESULT { SAT ->
CounterexampleWithinBound; UNSAT -> NoEncodedCounterexampleWithinBound }
BMC_SCOPE_WARNING { NoCounterexampleWithinBound MUST_NOT automatically
imply UnboundedSatisfaction } COMPLETENESS_THRESHOLD { SufficientBound
MAY establish completeness under declared_conditions } K_INDUCTION {
BaseCase + InductiveStep -> InvariantProof } INDUCTION_STRENGTHENING {
AuxiliaryInvariants -> StrongerInductiveHypothesis } SMT_MODEL_CHECKING
{ ModelAndProperty -> SMTEncoding -> SMTSolver } SMT_RESULT { MUST
preserve {SAT,UNSAT,UNKNOWN} } UNKNOWN_WARNING { SolverUNKNOWN MUST_NOT
become SatisfiedOrViolated }
COUNTEREXAMPLE { TYPE := ViolatingExecutionWitness }
COUNTEREXAMPLE_GENERATION { Violation -> ReconstructExecutionPath }
COUNTEREXAMPLE_TRACE { InitialState -> IntermediateStates ->
ViolatingStateOrCycle } LIVENESS_COUNTEREXAMPLE { FinitePrefix +
RepeatingCycle } COUNTEREXAMPLE_VALIDATION { CHECK InitialState; CHECK
EveryTransition; CHECK PropertyViolation; CHECK FairnessIfApplicable }
COUNTEREXAMPLE_MINIMISATION { ValidWitness ->
ShorterOrSimplerValidWitness } COUNTEREXAMPLE_EXPLANATION { Trace ->
RelevantStateChanges -> ViolatedProperty }
ABSTRACTION { ConcreteModel -> AbstractModel } OVER_APPROXIMATION {
AbstractBehaviours superset_of ConcreteBehaviours }
ABSTRACTION_SOUNDNESS { UniversalPropertyOnSoundOverapproximation MAY
imply ConcreteProperty } SPURIOUS_COUNTEREXAMPLE {
AbstractCounterexample not executable_in ConcreteModel }
PREDICATE_ABSTRACTION { ConcreteState -> TruthValuesOfSelectedPredicates
} CEGAR { ABBREVIATION := CounterexampleGuidedAbstractionRefinement;
PROCESS := Abstract -> ModelCheck -> AnalyseCounterexample -> Refine ->
Repeat } CEGAR_TERMINATION { STOP_WHEN :=
{PropertyEstablished,ConcreteCounterexampleFound,NoUsefulRefinement,ResourceLimit}
}
PARTIAL_ORDER_REDUCTION { IndependentTransitions ->
ReducedInterleavingExploration } AMPLE_SET_RELATIONSHIP {
EnabledTransitions -> PropertyPreservingSubset }
STUBBORN_SET_RELATIONSHIP { RelevantTransitions -> ReducedSearch }
SLEEP_SET_RELATIONSHIP { RedundantInterleavings -> Suppress }
POR_SOUNDNESS { Reduction MUST preserve claimed_property_class }
SYMMETRY_REDUCTION { SymmetricStates -> EquivalenceClasses }
APPROXIMATE_STORAGE_WARNING { ApproximateStateStorage MUST disclose
completeness_limitations }
AUTOMATA_THEORETIC_LTL { NegateProperty -> BuchiAutomaton ->
ProductWithModel -> CheckAcceptingCycle } BUCHI_AUTOMATON { TYPE :=
OmegaRegularAutomaton } PRODUCT_AUTOMATON { FormalModel +
PropertyAutomaton -> ProductModel } ACCEPTING_CYCLE { ReachableCycle
satisfying acceptance_condition } LTL_MODEL_CHECKING { PropertySatisfied
IFF ProductWithNegatedProperty has no accepting_run }
NESTED_DFS_RELATIONSHIP { MAY detect accepting_cycles } SCC_RELATIONSHIP
{ StronglyConnectedComponents MAY support liveness_analysis }
FIXED_POINT_CTL { CTLFormula -> PredecessorOperations +
LeastOrGreatestFixedPoints } EX_OPERATOR { ExistsNextState } EF_OPERATOR
{ ExistsPathEventually } EG_OPERATOR { ExistsPathGlobally } AF_OPERATOR
{ AllPathsEventually } AG_OPERATOR { AllPathsGlobally } EU_OPERATOR {
ExistentialUntil } AU_OPERATOR { UniversalUntil }
MODEL_CHECKING_VS_THEOREM_PROVING { ModelChecking :=
AutomatedModelAnalysis; TheoremProving := FormalDerivationFromAxioms }
MODEL_CHECKING_VS_TESTING { ModelChecking :=
AnalysesRepresentedBehaviourSpace; Testing := ExecutesSelectedCases }
MODEL_CHECKING_VS_SIMULATION { ModelChecking :=
PropertyDirectedFormalAnalysis; Simulation := SelectedBehaviourTraces }
MODEL_CHECKING_VS_RUNTIME_VERIFICATION { ModelChecking :=
FormalModelBehaviourSpace; RuntimeVerification := ObservedExecution }
MODEL_IMPLEMENTATION_GAP { VerifiedModel MAY differ_from DeployedSystem
} MODEL_VALIDATION { FormalModel -> CompareWithIntendedSystemBehaviour }
SPECIFICATION_VALIDATION { Property -> CompareWithIntendedRequirement }
VERIFICATION_VALIDATION_DISTINCTION { ModelSatisfiesProperty !=
PropertyCorrectlyCapturesRequirement } ENVIRONMENT_MODEL {
FormalRepresentationOfExternalBehaviour } ENVIRONMENT_ASSUMPTION {
RestrictsPermittedEnvironmentBehaviour } ASSUME_GUARANTEE_MODEL_CHECKING
{ Component + Assumption + Guarantee -> CompositionalVerification }
COMPOSITIONAL_MODEL_CHECKING { ComponentResults + SoundCompositionRule
-> SystemResult }
PROBABILISTIC_MODEL_CHECKING { ProbabilisticTransitionSystem +
QuantitativeProperty -> ProbabilityOrExpectation } MARKOV_CHAIN { TYPE
:= StochasticTransitionSystem } MARKOV_DECISION_PROCESS {
StochasticTransitions + NondeterministicChoices } PCTL_RELATIONSHIP {
ProbabilisticComputationTreeLogic -> QuantitativeProperties }
STATISTICAL_MODEL_CHECKING { SimulationSamples + StatisticalInference ->
ApproximateAssessment } STATISTICAL_WARNING { StatisticalAssessment
MUST_NOT be described_as ExhaustiveFormalProof }
TIMED_MODEL_CHECKING { TimedAutomaton + TimedProperty ->
VerificationResult } TIMED_AUTOMATON { Locations + Clocks + Guards +
Resets + Invariants } ZONE { SymbolicSetOfClockValuations }
DBM_RELATIONSHIP { DifferenceBoundMatrix MAY represent ClockZones }
ZONE_GRAPH { TimedAutomaton -> SymbolicClockStateGraph }
HYBRID_MODEL_CHECKING { HybridAutomaton + Property ->
ReachabilityOrSafetyAnalysis } HYBRID_REACHABILITY_WARNING {
ExactReachability MAY be undecidable_or_hard for broad_classes }
SECURITY_MODEL_CHECKING { ProtocolOrSystemModel + SecurityProperty ->
VerificationResult } ATTACK_TRACE { Counterexample ->
SecurityAttackSequence } INFORMATION_FLOW_PROPERTY { SecretData ->
DeclaredFlowOrNoninterferencePolicy } DEADLOCK_ANALYSIS {
ReachableState + EnabledTransitions -> DeadlockStatus }
LIVELOCK_RELATIONSHIP { InfiniteActivity + NoRequiredProgress }
STARVATION { RequestingComponent indefinitely_denied_progress }
FAIRNESS_AND_LIVENESS { LivenessResult MAY depend_on FairnessAssumptions
}
MODEL_CHECKING_RESULT { STATUS :=
{Satisfied,Violated,Unknown,Inconclusive,ResourceLimit} }
SATISFIED_RESULT { PropertyEstablishedForDeclaredModelScope }
VIOLATED_RESULT { ValidCounterexampleDemonstratesViolation }
UNKNOWN_RESULT { VerificationMethodUnableToDetermineResult }
RESOURCE_LIMIT_RESULT { TimeOrMemoryLimitPreventsCompletion }
RESULT_SCOPE { MUST_RECORD :=
{Model,ModelVersion,Property,PropertyLogic,Assumptions,Fairness,VerificationAlgorithm,BoundIfAny,ToolVersion}
} STATUS_CONSTRAINT { UnknownOrResourceLimit MUST_NOT become
SatisfiedOrViolated }
PROVENANCE { Result -> Model -> Property -> Assumptions -> Algorithm ->
ToolVersion -> Evidence } TRACE_PROVENANCE { Counterexample ->
InitialState -> Transitions -> PropertyViolation } SYMBOLIC_PROVENANCE {
SymbolicResult -> Encoding -> Solver -> SolverVersion } REPRODUCIBILITY
{ PreserveModelPropertyConfigurationVersionsForIndependentRerun }
EXPLANATION { Result -> Property -> RelevantStatesOrSymbolicEvidence ->
CounterexampleOrProofBasis } WHY_VIOLATED { Property ->
CounterexampleTrace -> ViolatingCondition } WHY_SATISFIED { Property ->
VerificationMethod -> CompletenessBasis -> Assumptions }
EXPLANATION_WARNING { AbsenceOfCounterexample supports Satisfaction ONLY
when completeness_for_scope established }
LANGUAGE_MODEL_RELATIONSHIP { LanguageModel MAY assist
{PropertyDrafting,ModelTranslation,InvariantSuggestion,CounterexampleExplanation,VerificationConfiguration}
} LLM_MODEL_CHECKING_WARNING { GeneratedModelOrProperty :=
CandidateArtifact UNTIL formally_validated }
TOOL_AUGMENTED_MODEL_CHECKING { VerificationGoal ->
SelectModelCheckerOrSolver -> Execute -> PreserveStatus ->
ValidateEvidence -> IntegrateResult }
RECURSIVE_MODEL_CHECKING { VerificationGoal -> BuildOrRefineModel ->
CheckProperty -> AnalyseResult -> ValidateEvidence -> RefineIfNeeded ->
Repeat } RECURSION_TERMINATION { STOP_WHEN :=
{PropertySatisfied,ValidCounterexampleFound,CompletenessEstablished,Unknown,ResourceLimit,NoUsefulRefinement}
} SELF_VERIFICATION { CandidateResult -> VerifyModelVersion ->
VerifyProperty -> VerifyAssumptions -> VerifyAlgorithmScope ->
VerifyEvidence -> AcceptReviseReject }
APPLICATION_RELATIONSHIPS { ModelChecking –supports–>
SoftwareVerification ModelChecking –supports–> HardwareVerification
ModelChecking –supports–> ProtocolVerification ModelChecking –supports–>
ConcurrentSystems ModelChecking –supports–> DistributedSystems
ModelChecking –supports–> SecurityVerification ModelChecking –supports–>
RealTimeSystems ModelChecking –supports–> ArtificialIntelligence }
ONTOLOGY_LINKS { PARENT := FormalVerificationOntology RELATED :=
{FormalVerificationOntology,TemporalLogicOntology,AutomatedReasoningOntology,SatisfiabilityOntology,ConstraintReasoningOntology,ExplainableAILogicOntology}
}
SEMANTIC_EQUIVALENCE { ModelChecking ≈ FormalModelPropertyChecking
ExplicitStateModelChecking ≈ ReachabilityBasedStateSpaceVerification
SymbolicModelChecking ≈ SymbolicStateSetPropertyVerification
BoundedModelChecking ≈ BoundLimitedSATOrSMTModelChecking }
CONSTRAINTS { C1 := ModelAndPropertySemantics MUST be declared C2 :=
SatisfactionClaims MUST remain scoped_to verified_model C3 :=
BoundedNoCounterexample MUST_NOT automatically become
unbounded_satisfaction C4 := Counterexamples MUST be validated before
trusted_use C5 := FairnessAssumptions MUST be explicit for
affected_liveness_properties C6 := ReductionMethods MUST preserve
claimed_property_class C7 := ApproximateStateStorage MUST disclose
completeness_limitations C8 := SolverUNKNOWN MUST remain distinct from
SAT_UNSAT_and_property_status C9 := StatisticalModelChecking MUST remain
distinct from exhaustive_formal_verification C10 :=
ModelImplementationGap MUST be explicit where relevant C11 :=
GeneratedModelsAndProperties MUST be validated before
verification_claims C12 := Provenance SHOULD preserve
model_property_algorithm_bound_tool_and_evidence }
REASONING_CHAIN Query Q { IDENTIFY formal_model IDENTIFY initial_states
IDENTIFY transition_relation IDENTIFY property IDENTIFY property_logic
IDENTIFY assumptions_and_fairness SELECT model_checking_algorithm
VALIDATE model_and_property IF explicit_state: EXPLORE reachable_states
IF symbolic: COMPUTE symbolic_state_sets_or_fixed_points IF bounded:
ENCODE bound; CALL SAT_or_SMT IF abstraction: CHECK
abstraction_soundness; REFINE spurious_counterexamples IF
violation_found: RECONSTRUCT and VALIDATE counterexample IF
satisfaction_claimed: VERIFY completeness_basis_for_scope BUILD
provenance ASSIGN result_status RETURN model_checking_result WITH
evidence }
CONFIDENCE { CORE_MODEL_CHECKING := 1.00 TRANSITION_SYSTEM_SEMANTICS :=
1.00 LTL_CTL_RELATIONSHIP := 1.00 EXPLICIT_SYMBOLIC_DISTINCTION := 1.00
BMC_SCOPE := 1.00 COUNTEREXAMPLE_VALIDATION := 1.00 CEGAR_RELATIONSHIP
:= 1.00 }
UPDATE_MODEL { IMMUTABLE_CORE :=
{FormalModel,TransitionRelation,Property,Semantics,ResultScope,VerificationEvidence}
EXTENSIBLE :=
{TemporalLogics,SymbolicRepresentations,SATSolvers,SMTSolvers,ReductionMethods,Abstractions,ProbabilisticModels,TimedModels,ApplicationDomains}
ON_NEW_KNOWLEDGE { VALIDATE change; INVALIDATE affected_results; RECHECK
relevant_properties; UPDATE provenance; UPDATE confidence } }
AI_CONSUMPTION { MACHINE_READABLE := TRUE HUMAN_INTERPRETABLE := TRUE
RECURSIVE_REASONING := TRUE STATE_SPACE_REASONING := TRUE
TEMPORAL_LOGIC_REASONING := TRUE SYMBOLIC_REASONING := TRUE
SAT_SMT_REASONING := TRUE COUNTEREXAMPLE_VALIDATION := TRUE
ABSTRACTION_REFINEMENT := TRUE PROVENANCE_TRACKING := TRUE
SELF_VERIFICATION := TRUE VALIDATION_REQUIRED := TRUE }
FLOW_HASH { TARGET := TARGET_URL SUBJECT := “Model Checking Ontology”
VERSION := “1.0” CANONICAL_SIGNATURE := HASH(TARGET + SUBJECT + DOMAIN +
VERSION) }
OUTPUT { PRIMARY_ENTITY := ModelChecking INTERPRETATION := “Model
checking verifies state-transition models against formal properties
using explicit exploration, symbolic fixed-point reasoning,
temporal-logic automata, SAT/SMT encodings and abstraction. Satisfaction
claims require completeness for the declared scope; violations require
validated counterexamples.” }
END_FLOW
Download Code
Copy to Clipboard