Package com.articulate.sigma.tp
Class SZSExtractor
java.lang.Object
com.articulate.sigma.tp.SZSExtractor
Utility class for extracting SZS (TPTP Standard for System status values)
information from prover output.
Handles output formats from:
- Vampire: "% SZS status Theorem for SUMO"
- EProver: "# SZS status Theorem"
- LEO-III: "% SZS status Theorem for problem"
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleancontainsProof(List<String> output) Determine if output contains a proof.static StringextractDiagnostics(List<String> output) Extract diagnostics from SZS status line (text after colon).extractErrorLines(List<String> output) Extract lines that appear to contain error messages from stdout.extractErrorLines(List<String> stdout, List<String> stderr) Extract error lines from both stdout and stderr.static StringextractOutputType(List<String> output) Extract the SZS output type (Proof, Refutation, Model, etc.)static SZSStatusextractStatus(List<String> output) Extract the SZS status from prover output.static StringextractStatusLine(List<String> output) Extract the raw SZS status line from prover output.static StringextractStatusRaw(List<String> output) Extract the raw status string (just the status word) from output.extractWarnings(List<String> output) Extract warning lines from output.static StringgetPrimaryError(List<String> stdout, List<String> stderr) Get the primary error message from the output.static booleanindicatesResourceOut(List<String> output) Check if output indicates resource exhaustion.static booleanindicatesSuccess(List<String> output) Determine if output suggests success (proof found, etc.)static booleanindicatesTimeout(List<String> output) Check if output indicates the prover timed out.
-
Method Details
-
extractStatus
Extract the SZS status from prover output.- Parameters:
output- List of output lines from the prover- Returns:
- The extracted SZSStatus, or null if none found
-
extractStatusLine
Extract the raw SZS status line from prover output.- Parameters:
output- List of output lines from the prover- Returns:
- The full status line, or null if none found
-
extractStatusRaw
Extract the raw status string (just the status word) from output.- Parameters:
output- List of output lines- Returns:
- The status word (e.g., "Theorem", "Timeout"), or null
-
extractDiagnostics
Extract diagnostics from SZS status line (text after colon). Example: "% SZS status TypeError : line 42, bad type" Returns: "line 42, bad type"- Parameters:
output- List of output lines- Returns:
- Diagnostics string, or null if none
-
extractOutputType
Extract the SZS output type (Proof, Refutation, Model, etc.)- Parameters:
output- List of output lines- Returns:
- Output type string, or null if none found
-
extractErrorLines
Extract lines that appear to contain error messages from stdout.- Parameters:
output- List of stdout lines- Returns:
- List of lines containing error indicators
-
extractErrorLines
Extract error lines from both stdout and stderr.- Parameters:
stdout- List of stdout linesstderr- List of stderr lines- Returns:
- Combined list of error lines (stderr takes precedence)
-
extractWarnings
Extract warning lines from output.- Parameters:
output- List of output lines- Returns:
- List of warning lines
-
indicatesTimeout
Check if output indicates the prover timed out. Looks for both SZS status and common timeout patterns.- Parameters:
output- List of output lines- Returns:
- true if timeout is indicated
-
indicatesResourceOut
Check if output indicates resource exhaustion.- Parameters:
output- List of output lines- Returns:
- true if resource exhaustion is indicated
-
getPrimaryError
Get the primary error message from the output. Tries to find the most informative single error line.- Parameters:
stdout- Stdout linesstderr- Stderr lines- Returns:
- Primary error message, or null if none found
-
indicatesSuccess
Determine if output suggests success (proof found, etc.)- Parameters:
output- List of output lines- Returns:
- true if output indicates success
-
containsProof
Determine if output contains a proof.- Parameters:
output- List of output lines- Returns:
- true if a proof section is present
-