ogma-cli: Augment overview command to report results of spec analysis. Refs #356.#357
Merged
ivanperez-keera merged 7 commits intonasa:developfrom Feb 21, 2026
Merged
Conversation
e8c753e to
498621f
Compare
ogma-cli: Adjust overview command to print information about spec analysis. Refs #356.ogma-cli: Augment overview command to print information about spec analysis. Refs #356.
ogma-cli: Augment overview command to print information about spec analysis. Refs #356.ogma-cli: Augment overview command to report results of spec analysis. Refs #356.
0b871ab to
cf59faf
Compare
There is a need for Ogma to be able to analyze specifications and determine if any of the properties in them could be removed, or cannot be implemented. We should add to Ogma the capability of indicating to users whether any of the input properties are always true or always false. The former would indicate that they cannot be invalidated, and the latter would indicate that they cannot be satisfied. This commit adds a new module that formally analyzes specifications and returns how many requirements are always true (and therefore do not add value) or always false (and can never be realized). The new module is added to the Cabal file as as an internal module of the library, together with any additional dependencies.
nasa#356. There is a need for Ogma to be able to analyze specifications and determine if any of the properties in them could be removed, or cannot be implemented. We should add to Ogma the capability of indicating to users whether any of the input properties are always true or always false. The former would indicate that they cannot be invalidated, and the latter would indicate that they cannot be satisfied. A prior commit added a new module that formally analyzes specifications and returns how many requirements are always true or always false. This commit modifies the overview command so that it collects and returns the number of constant requirements together with other information about the input specification.
…is. Refs nasa#356. There is a need for Ogma to be able to analyze specifications and determine if any of the properties in them could be removed, or cannot be implemented. We should add to Ogma the capability of indicating to users whether any of the input properties are always true or always false. The former would indicate that they cannot be invalidated, and the latter would indicate that they cannot be satisfied. A prior commit modified the overview command in `ogma-core` to return how many requirements are always true or always false. This commit modifies the `overview` command in `ogma-cli` so that the information about the number of constant requirements is printed to the standard output.
There is a need for Ogma to be able to analyze specifications and determine if any of the properties in them could be removed, or cannot be implemented. We should add to Ogma the capability of indicating to users whether any of the input properties are always true or always false. The former would indicate that they cannot be invalidated, and the latter would indicate that they cannot be satisfied. A prior commit modified the `overview` command to print information about how many requirements are always true or always false. The new command leverages the library `copilot-theorem` and, specifically, its ability to prove properties about Copilot specifications using the `z3` theorem prover. This commit updates the installation instructions to add `z3` to the list of necessary dependencies for those cases where the user must install `z3` before installing Ogma.
There is a need for Ogma to be able to analyze specifications and determine if any of the properties in them could be removed, or cannot be implemented. We should add to Ogma the capability of indicating to users whether any of the input properties are always true or always false. The former would indicate that they cannot be invalidated, and the latter would indicate that they cannot be satisfied. A prior commit modified the `overview` command to print information about how many requirements are always true or always false. This commit adds an example that can be used to demonstrate the new feature. The new example contains three requirements, of which one is always true and another is always false.
cf59faf to
68246ae
Compare
Member
Author
|
Change Manager: Verified that:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Augment
ogma-coreto formally analyze specs and adjustogma-cli'soverviewcommand to report the results of the analysis to the user, as prescribed in the solution proposed for #356.