package de.unisiegen.tpml.core.interpreters ; import de.unisiegen.tpml.core.ExpressionProofModel ; /** * Base interface for the big and small step interpreter proof models. It * extends the {@link de.unisiegen.tpml.core.ExpressionProofModel} interface * with functionality to query whether memory operations are enabled during the * evaluation of the expression. * * @author Benedikt Meurer * @version $Rev$ * @see de.unisiegen.tpml.core.interpreters.InterpreterProofNode * @see de.unisiegen.tpml.core.ExpressionProofModel */ public interface InterpreterProofModel extends ExpressionProofModel { // // Accessors // /** * Returns <code>true</code> if memory operations, as part of the imperative * concepts, are used while proving properties of a program. If memory is * enabled, the {@link InterpreterProofNode#getStore()} method returns the * {@link Store} at the given node. Otherwise an invalid - usually empty - * store will be returned. * * @return <code>true</code> if memory operations are used while evaluating * the expression. * @see Store * @see InterpreterProofNode#getStore() */ public boolean isMemoryEnabled ( ) ; }