added application of funN Rules

This commit is contained in:
Florian Steurer 2016-04-28 21:33:33 +02:00
parent 7c0a91e624
commit b39dedb9aa

View File

@ -293,6 +293,12 @@ public class TypeUnifyTask extends RecursiveTask<Set<Set<UnifyPair>>> {
optSet = optSet.isPresent() ? optSet : rules.reduceTphExt(pair);
optSet = optSet.isPresent() ? optSet : rules.reduceTphSup(pair);
// FunN Rules
optSet = optSet.isPresent() ? optSet : rules.reduceFunN(pair);
optSet = optSet.isPresent() ? optSet : rules.greaterFunN(pair);
optSet = optSet.isPresent() ? optSet : rules.smallerFunN(pair);
// One of the rules has been applied
if(optSet.isPresent()) {
optSet.get().forEach(x -> swapAddOrErase(x, fc, eqQueue));
@ -436,7 +442,11 @@ public class TypeUnifyTask extends RecursiveTask<Set<Set<UnifyPair>>> {
candidateParams.add(fc.grArg(param));
for(TypeParams tp : permuteParams(candidateParams))
try {
thetaQPrimes.add(c.setTypeParams(tp));
} catch(Exception e) {
System.out.println("f");
}
}
for(UnifyType tqp : thetaQPrimes) {