Interface InterpolantEnumerator<S extends Formula>
-
- Type Parameters:
S
- the type of formulas
- All Known Implementing Classes:
SimplePlInterpolantEnumerator
public interface InterpolantEnumerator<S extends Formula>
Interface for classes enumerating (Craig) interpolants. Given two consistent sets of formulas K1 and K2, an interpolant I of K1 wrt. K2 is a formula with- I is entailed by K1
- I and K2 are inconsistent
- I only uses vocabulary common to both K1 and K2
- Author:
- Matthias Thimm
-
-
Method Summary
Modifier and Type Method Description java.util.Collection<S>
getInterpolants(java.util.Collection<S> k1, java.util.Collection<S> k2)
Returns the set of all interpolants of K1 wrt.S
getStrongestInterpolant(java.util.Collection<S> k1, java.util.Collection<S> k2)
Returns the strongest interpolant (up to semantical equivalence) of K1 wrt.S
getWeakestInterpolant(java.util.Collection<S> k1, java.util.Collection<S> k2)
Returns the weakest interpolant (up to semantical equivalence) of K1 wrt.boolean
isInterpolant(S candidate, java.util.Collection<S> k1, java.util.Collection<S> k2)
Checks whether the given formula "candidate" is an interpolant of k1 wrt.
-
-
-
Method Detail
-
getInterpolants
java.util.Collection<S> getInterpolants(java.util.Collection<S> k1, java.util.Collection<S> k2)
Returns the set of all interpolants of K1 wrt. K2 (modulo semantical equivalence).- Parameters:
k1
- some set of formulask2
- some set of formulas- Returns:
- the set of all interpolants of K1 wrt. K2 (modulo semantical equivalence).
-
isInterpolant
boolean isInterpolant(S candidate, java.util.Collection<S> k1, java.util.Collection<S> k2)
Checks whether the given formula "candidate" is an interpolant of k1 wrt. k2.- Parameters:
candidate
- some candidate formula.k1
- some set of formulask2
- some set of formulas- Returns:
- "true" if "candidate" is an interpolant of k1 wrt. k2.
-
getStrongestInterpolant
S getStrongestInterpolant(java.util.Collection<S> k1, java.util.Collection<S> k2)
Returns the strongest interpolant (up to semantical equivalence) of K1 wrt. K2, i.e., the interpolant IS such that IS entails I for every other interpolant I.- Parameters:
k1
- some set of formulask2
- some set of formulas- Returns:
- the strongest interpolant of K1 wrt. K2
-
getWeakestInterpolant
S getWeakestInterpolant(java.util.Collection<S> k1, java.util.Collection<S> k2)
Returns the weakest interpolant (up to semantical equivalence) of K1 wrt. K2, i.e., the interpolant IW such that I entails IW for every other interpolant I.- Parameters:
k1
- some set of formulask2
- some set of formulas- Returns:
- the weakest interpolant of K1 wrt. K2
-
-