You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Rename "remove destination" to "check implication"
We would like to use the same terminology as the domain experts, which is "check
implication".
* Remove ProofState type family
The ProofState associated type family is always instantiated at the concrete
ProofState type, so this was a meaningless layer of indirection.
* Remove Prim type family
The associated type family Prim was only ever instantiated at a single type.
* checkImplication: Return CheckImplicationResult
The function checkImplication returns a CheckImplicationResult instead of a
ProofState. This follows a principle from domain-driven design: the function
indicates its own result (CheckImplicationResult) instead of telling the caller
what to do next (ProofState). The code is more flexible because checkImplication
now does not need to know anything about the caller.
* Move TransitionRuleTemplate into Goal class
* Move logTransitionRule to Kore.Strategies.Verification
This acts to separate the domain model from the application code.
* Move withDebugProofState to Kore.Strategies.Verification
This change extracts application code from the domain model.
* Extract transitionRule
Now, the only instance of transitionRule is the canonical instance. This
instance _defines_ reachability proving and the individual types of reachability
claims may only define how they implement each step.
* Move withConfiguration to Kore.Strategies.Verification
This change reinforces the separation between the application and domain model
code.
* Goal: Remove MonadCatch constraints
* Add applyClaims
* Add instance Foldable ProofState
* Add applyAxioms
* Remove redundant steps from one-path strategy
This makes the one-path strategy like the all-path strategy.
* Test.Kore.Strategies.AllPath.AllPath: Use ApplyAxioms and ApplyClaims
* Remove DerivePar and DeriveSeq
* TODO: ApplyResult
* Extract strategy from class Goal
The strategy belongs to and is common to all reachability proofs.
* Remove stray comment
* withConfiguration: Use extractUnproven
* rm test/imp/sum-breadth-limit-three-spec.k
0 commit comments