SYMBOL INDEX (3392 symbols across 304 files) FILE: src/main/java/edu/harvard/seas/pl/formulog/Configuration.java class Configuration (line 53) | public final class Configuration { method Configuration (line 55) | private Configuration() { method recordSmtTime (line 92) | public static void recordSmtTime(long delta) { method getSmtTotalTime (line 96) | public static long getSmtTotalTime() { method memoizeThreshold (line 176) | public static final int memoizeThreshold() { class SmtStats (line 198) | public static class SmtStats { method add (line 202) | public void add(long time) { method run (line 220) | @Override method run (line 231) | @Override method run (line 242) | @Override method run (line 252) | @Override method printConfiguration (line 259) | public static synchronized void printConfiguration(PrintStream out) { method recordSmtDeclTime (line 271) | public static void recordSmtDeclTime(long time) { method recordSmtInferTime (line 275) | public static void recordSmtInferTime(long time) { method recordSmtSerialTime (line 279) | public static void recordSmtSerialTime(long time) { method recordSmtEvalTime (line 283) | public static void recordSmtEvalTime( method recordSmtWaitTime (line 308) | public static void recordSmtWaitTime(long time) { method recordSmtDeclGlobalsTime (line 312) | public static void recordSmtDeclGlobalsTime(long time) { method printSmtDiagnostics (line 316) | public static synchronized void printSmtDiagnostics(PrintStream out) { method recordPushPopSolverStats (line 367) | public static void recordPushPopSolverStats( method recordCsaCacheStats (line 376) | public static void recordCsaCacheStats(int solverId, int hits, int mis... method recordSmtDoubleCheck (line 385) | public static void recordSmtDoubleCheck(boolean falseUnknown) { method recordCsaCacheClear (line 392) | public static void recordCsaCacheClear(int solverId) { method recordFuncTime (line 396) | public static void recordFuncTime(FunctionSymbol func, long time) { method getFuncDiagnostics (line 401) | public static Map getFuncDiagnostics() { method printFuncDiagnostics (line 405) | public static synchronized void printFuncDiagnostics(PrintStream out) { method compare (line 420) | @Override method compare (line 429) | @Override method getTotal (line 435) | private long getTotal(Entry> e) { method recordRulePrefixTime (line 441) | public static void recordRulePrefixTime(Rule rule, long time) { method recordRuleSuffixTime (line 447) | public static void recordRuleSuffixTime(Rule rule, long time) { method printRuleDiagnostics (line 453) | public static synchronized void printRuleDiagnostics(PrintStream out) { method printRelSizes (line 470) | public static synchronized void printRelSizes( method propIsSet (line 489) | private static boolean propIsSet(String prop, boolean defaultValue) { method propIsSet (line 503) | private static boolean propIsSet(String prop) { method getIntProp (line 507) | static int getIntProp(String prop, int def) { method getStringProp (line 519) | private static String getStringProp(String prop, String def) { method getListProp (line 527) | static List getListProp(String prop) { method breakIntoCollection (line 537) | private static void breakIntoCollection(String s, Collection a... method getSmtStrategy (line 550) | static SmtStrategy getSmtStrategy() { FILE: src/main/java/edu/harvard/seas/pl/formulog/FormulogTester.java class FormulogTester (line 61) | public class FormulogTester { method setup (line 67) | public synchronized void setup(Reader program, File testFile) method loadTests (line 75) | private void loadTests(File testFile, Parser parser) throws IOExceptio... method loadTest (line 85) | private FormulogTest loadTest(JsonNode test, Path rootTestDir, Parser ... method parseBoolLogic (line 105) | private Function> parseBoolLogic(String... method parseBoolLogic (line 117) | private Function> parseBoolLogic(SExp s... method parseBoolAtom (line 125) | private Function> parseBoolAtom(String ... method parseBoolList (line 135) | private Function> parseBoolList(List parseIntLogic(SExp sexp) t... method parseIntAtom (line 201) | private Function parseIntAtom(String s) thr... method parseIntList (line 210) | private Function parseIntList(List l)... method runTests (line 245) | synchronized boolean runTests() throws InvalidProgramException, Evalua... method clearCachedState (line 261) | private void clearCachedState() { method runTest (line 273) | private boolean runTest(FormulogTest test, Map p... method setup (line 209) | private Evaluation setup(WellTypedProgram prog) { method evaluate (line 224) | private void evaluate(Evaluation eval) { method getBanner (line 237) | private String getBanner(String heading) { method getSmallBanner (line 241) | private String getSmallBanner(String heading) { class FactFileDumper (line 245) | private static class FactFileDumper implements Runnable { method FactFileDumper (line 250) | public FactFileDumper(Iterable facts, PrintStream out) { method run (line 255) | @Override method dumpResultsToDisk (line 271) | private void dumpResultsToDisk(EvaluationResult res) { method printSmtStats (line 293) | private void printSmtStats(PrintStream out) { method dumpResults (line 318) | private void dumpResults(EvaluationResult res) { method dumpRelations (line 367) | private void dumpRelations( class SmtModeConverter (line 387) | public static class SmtModeConverter implements ITypeConverter... method AbstractRule (line 30) | protected AbstractRule(H head, List body) { method iterator (line 35) | @Override method getHead (line 40) | @Override method getBodySize (line 45) | @Override method getBody (line 50) | @Override method toString (line 55) | @Override method hashCode (line 75) | @Override method equals (line 84) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/AbstractTerm.java class AbstractTerm (line 22) | public abstract class AbstractTerm implements Term { method AbstractTerm (line 26) | public AbstractTerm() { method getId (line 30) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/BasicProgram.java type BasicProgram (line 22) | public interface BasicProgram extends Program {} FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/BasicRule.java class BasicRule (line 25) | public class BasicRule extends AbstractRule body) { method make (line 35) | public static BasicRule make(UserPredicate head, List ... method make (line 42) | public static BasicRule make(UserPredicate head) { FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/BindingType.java type BindingType (line 22) | public enum BindingType { method isBound (line 27) | public boolean isBound() { method isFree (line 31) | public boolean isFree() { method isIgnored (line 35) | public boolean isIgnored() { FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/BoolTerm.java class BoolTerm (line 30) | public class BoolTerm extends AbstractTerm implements Primitive... method BoolTerm (line 36) | private BoolTerm(boolean val) { method mk (line 40) | public static BoolTerm mk(boolean val) { method mkTrue (line 44) | public static BoolTerm mkTrue() { method mkFalse (line 48) | public static BoolTerm mkFalse() { method getVal (line 52) | @Override method getType (line 57) | @Override method toSmtLib (line 62) | @Override method substSolverTerms (line 67) | @Override method freeVars (line 72) | @Override method toString (line 77) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/ComplexLiteral.java type ComplexLiteral (line 28) | public interface ComplexLiteral extends Literal { method getArgs (line 30) | Term[] getArgs(); method applySubstitution (line 32) | ComplexLiteral applySubstitution(Substitution subst); method isNegated (line 34) | boolean isNegated(); method varSet (line 36) | default Set varSet() { method accept (line 44) | O accept(ComplexLiteralVisitor visitor, I input); method accept (line 46) | O accept(ComplexLiteralExnVisitor... FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/ComplexLiterals.java class ComplexLiterals (line 22) | public final class ComplexLiterals { method ComplexLiterals (line 24) | private ComplexLiterals() { method unifyWithBool (line 28) | public static UnificationPredicate unifyWithBool(Term t, boolean bool) { method trueAtom (line 32) | public static UnificationPredicate trueAtom() { type ComplexLiteralVisitor (line 36) | public static interface ComplexLiteralVisitor { method visit (line 38) | O visit(UnificationPredicate unificationPredicate, I input); method visit (line 40) | O visit(UserPredicate userPredicate, I input); type ComplexLiteralExnVisitor (line 43) | public static interface ComplexLiteralExnVisitor, SmtLibT... method accept (line 30) | @Override method accept (line 35) | @Override method applySubstitution (line 40) | @Override method copyWithNewArgs (line 53) | @Override method normalize (line 56) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Constructors.java class Constructors (line 53) | public final class Constructors { method Constructors (line 55) | private Constructors() { method make (line 61) | public static Constructor make(ConstructorSymbol sym, Term[] args) { method makeZeroAry (line 91) | public static Constructor makeZeroAry(ConstructorSymbol sym) { method nil (line 97) | public static Constructor nil() { method cons (line 101) | public static Constructor cons(Term hd, Term tl) { method none (line 107) | public static final Term none() { method some (line 111) | public static Term some(Term arg) { method tuple (line 115) | public static Term tuple(Term... args) { method lookupOrCreateBuiltInConstructor (line 119) | private static Constructor lookupOrCreateBuiltInConstructor( method makeAnd (line 242) | private static Constructor makeAnd(Term[] args) { method makeOr (line 252) | private static Constructor makeOr(Term[] args) { method renameBinder (line 268) | private static SolverVariable renameBinder(SolverVariable x) { class SolverLet (line 275) | private static class SolverLet extends AbstractConstructor> getPatterns() { method getBoundVars (line 414) | private List getBoundVars() { method freeVars (line 424) | @Override class Nil (line 432) | private static class Nil extends AbstractConstructor { method Nil (line 434) | protected Nil(ConstructorSymbol sym, Term[] args) { method toSmtLib (line 438) | @Override method toString (line 443) | @Override class Cons (line 449) | private static class Cons extends AbstractConstructor { method Tuple (line 907) | private Tuple(TupleSymbol sym, Term[] args) { method toSmtLib (line 911) | @Override method toString (line 916) | @Override class Record (line 930) | public static class Record extends AbstractConstructor O accept(ExprVisitor visitor, I in); method accept (line 31) | O accept(ExprVisitorExn visitor, ... method accept (line 33) | @Override method accept (line 38) | @Override method containsUnevaluatedTerm (line 43) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Exprs.java class Exprs (line 24) | public final class Exprs { method Exprs (line 26) | private Exprs() { type ExprVisitor (line 30) | public static interface ExprVisitor { method visit (line 32) | O visit(MatchExpr matchExpr, I in); method visit (line 34) | O visit(FunctionCall funcCall, I in); method visit (line 36) | O visit(LetFunExpr funcDefs, I in); method visit (line 38) | O visit(Fold fold, I in); type ExprVisitorExn (line 41) | public static interface ExprVisitorExn { method visit (line 43) | O visit(MatchExpr matchExpr, I in) throws E; method visit (line 45) | O visit(FunctionCall funcCall, I in) throws E; method visit (line 47) | O visit(LetFunExpr funcDefs, I in) throws E; method visit (line 49) | O visit(Fold fold, I in) throws E; FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/FP32.java class FP32 (line 33) | public class FP32 extends AbstractTerm implements Primitive, SmtL... method FP32 (line 38) | private FP32(float val) { method make (line 42) | public static FP32 make(float val) { method getVal (line 46) | @Override method toString (line 51) | @Override method substSolverTerms (line 65) | @Override method toSmtLib (line 70) | @Override method getType (line 83) | @Override method freeVars (line 88) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/FP64.java class FP64 (line 33) | public class FP64 extends AbstractTerm implements Primitive, Smt... method FP64 (line 38) | private FP64(double val) { method make (line 42) | public static FP64 make(double val) { method getVal (line 46) | @Override method toString (line 51) | @Override method substSolverTerms (line 65) | @Override method toSmtLib (line 70) | @Override method getType (line 83) | @Override method freeVars (line 88) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Fold.java class Fold (line 34) | public class Fold implements Expr { method Fold (line 41) | private Fold(FunctionSymbol f, Term[] args, FunctionCallFactory funCal... method mk (line 57) | public static Fold mk(FunctionSymbol f, Term[] args, FunctionCallFacto... method getArgs (line 61) | public Term[] getArgs() { method getFunction (line 65) | public FunctionSymbol getFunction() { method getShamCall (line 69) | public FunctionCall getShamCall() { method isGround (line 73) | @Override method applySubstitution (line 86) | @Override method normalize (line 97) | @Override method varSet (line 117) | @Override method updateVarCounts (line 124) | @Override method getId (line 131) | @Override method accept (line 136) | @Override method accept (line 141) | @Override method toString (line 146) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/FunctionCallFactory.java class FunctionCallFactory (line 40) | public final class FunctionCallFactory { method FunctionCallFactory (line 51) | public FunctionCallFactory(FunctionDefManager defManager) { method make (line 55) | public FunctionCall make(FunctionSymbol sym, Term[] args) { method getDefManager (line 70) | public FunctionDefManager getDefManager() { method clearMemoCache (line 74) | public void clearMemoCache() { class FunctionCall (line 78) | public class FunctionCall extends AbstractTerm implements Functor extends Term { method getSymbol (line 28) | S getSymbol(); method getArgs (line 30) | Term[] getArgs(); method copyWithNewArgs (line 32) | Term copyWithNewArgs(Term[] args); method varSet (line 34) | @Override method updateVarCounts (line 43) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/I32.java class I32 (line 33) | public class I32 extends AbstractTerm implements Primitive, Smt... method I32 (line 38) | private I32(int val) { method make (line 42) | public static I32 make(int val) { method getVal (line 46) | @Override method toString (line 51) | @Override method substSolverTerms (line 56) | @Override method toSmtLib (line 61) | @Override method getType (line 66) | @Override method freeVars (line 71) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/I64.java class I64 (line 33) | public class I64 extends AbstractTerm implements Primitive, SmtLib... method I64 (line 38) | private I64(long val) { method make (line 42) | public static I64 make(long val) { method getVal (line 46) | @Override method toString (line 51) | @Override method substSolverTerms (line 56) | @Override method toSmtLib (line 61) | @Override method getType (line 66) | @Override method freeVars (line 71) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/LetFunExpr.java class LetFunExpr (line 32) | public class LetFunExpr implements Expr { method LetFunExpr (line 37) | private LetFunExpr(Set defs, Term letBody) { method make (line 46) | public static LetFunExpr make(Set defs, Term letBod... method getDefs (line 50) | public Set getDefs() { method getLetBody (line 54) | public Term getLetBody() { method isGround (line 58) | @Override method applySubstitution (line 68) | @Override method normalize (line 77) | @Override method varSet (line 82) | @Override method updateVarCounts (line 91) | @Override method getId (line 96) | @Override method accept (line 101) | @Override method accept (line 106) | @Override method hashCode (line 111) | @Override method equals (line 120) | @Override method toString (line 135) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Literal.java type Literal (line 22) | public interface Literal { method getArgs (line 24) | Term[] getArgs(); FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/MatchClause.java class MatchClause (line 31) | public class MatchClause { method make (line 36) | public static MatchClause make(Term lhs, Term rhs) { method checkForRepeatVariables (line 49) | private static boolean checkForRepeatVariables(Term pat) { method visit (line 56) | @Override method visit (line 64) | @Override method visit (line 73) | @Override method visit (line 78) | @Override method MatchClause (line 84) | MatchClause(Term lhs, Term rhs) { method tryMatch (line 89) | public boolean tryMatch(Term t, Substitution s) { method getLhs (line 119) | public Term getLhs() { method getRhs (line 123) | public Term getRhs() { method hashCode (line 127) | @Override method equals (line 136) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/MatchExpr.java class MatchExpr (line 36) | public class MatchExpr extends AbstractTerm implements Expr, Iterable match) { method MatchExpr (line 46) | MatchExpr(Term matchee, List match) { method getMatchee (line 63) | public Term getMatchee() { method getClauses (line 67) | public List getClauses() { method accept (line 71) | @Override method normalize (line 76) | @Override method accept (line 98) | @Override method applySubstitution (line 103) | @Override method toString (line 125) | @Override method hashCode (line 135) | @Override method equals (line 144) | @Override method isGround (line 159) | @Override method varSet (line 164) | @Override method iterator (line 176) | @Override method updateVarCounts (line 181) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Model.java class Model (line 30) | public class Model extends AbstractTerm implements Primitive m) { method make (line 40) | public static Model make(Map m) { method getVal (line 44) | @Override method getType (line 49) | @Override method toString (line 54) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/NestedFunctionDef.java class NestedFunctionDef (line 29) | public class NestedFunctionDef { method NestedFunctionDef (line 35) | private NestedFunctionDef(FunctionSymbol sym, List params, Term b... method make (line 46) | public static NestedFunctionDef make(FunctionSymbol sym, List par... method applySubstitution (line 50) | public NestedFunctionDef applySubstitution(Substitution s) { method freshen (line 60) | public NestedFunctionDef freshen() { method getSymbol (line 71) | public FunctionSymbol getSymbol() { method getParams (line 75) | public List getParams() { method getBody (line 79) | public Term getBody() { method hashCode (line 83) | @Override method equals (line 92) | @Override method toString (line 107) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/OpaqueSet.java class OpaqueSet (line 35) | public class OpaqueSet extends AbstractTerm implements Primitive s) { method empty (line 52) | public static OpaqueSet empty() { method singleton (line 56) | public static OpaqueSet singleton(Term t) { method fromCollection (line 60) | public static OpaqueSet fromCollection(Collection c) { method make (line 68) | private static OpaqueSet make(PSet s) { method getCollection (line 72) | public Collection getCollection() { method member (line 76) | public boolean member(Term t) { method plus (line 80) | public OpaqueSet plus(Term t) { method minus (line 84) | public OpaqueSet minus(Term t) { method union (line 88) | public OpaqueSet union(OpaqueSet other) { method diff (line 92) | public OpaqueSet diff(OpaqueSet other) { method size (line 96) | public int size() { method isEmpty (line 100) | public boolean isEmpty() { method choose (line 104) | public Pair choose() { method containsAll (line 112) | public boolean containsAll(OpaqueSet other) { method getVal (line 116) | @Override method getType (line 121) | @Override method toString (line 126) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Primitive.java type Primitive (line 29) | public interface Primitive extends Term { method getVal (line 31) | T getVal(); method accept (line 33) | @Override method accept (line 38) | @Override method containsUnevaluatedTerm (line 43) | @Override method applySubstitution (line 48) | @Override method normalize (line 53) | @Override method isGround (line 58) | @Override method getType (line 63) | Type getType(); method varSet (line 65) | @Override method updateVarCounts (line 70) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Program.java type Program (line 30) | public interface Program> { method getFunctionSymbols (line 32) | Set getFunctionSymbols(); method getFactSymbols (line 34) | Set getFactSymbols(); method getRuleSymbols (line 36) | Set getRuleSymbols(); method getDef (line 38) | FunctionDef getDef(FunctionSymbol sym); method getFacts (line 40) | Set getFacts(RelationSymbol sym); method getRules (line 42) | Set getRules(RelationSymbol sym); method getSymbolManager (line 44) | SymbolManager getSymbolManager(); method hasQuery (line 46) | boolean hasQuery(); method getQuery (line 48) | Q getQuery(); method getFunctionCallFactory (line 50) | FunctionCallFactory getFunctionCallFactory(); method getUninterpretedFunctionSymbols (line 52) | Set getUninterpretedFunctionSymbols(); method getTypeSymbols (line 54) | Set getTypeSymbols(); FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Rule.java type Rule (line 26) | public interface Rule extends Iter... method getHead (line 28) | H getHead(); method getBodySize (line 30) | int getBodySize(); method getBody (line 32) | B getBody(int idx); method countVariables (line 34) | default Map countVariables() { FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/SmtLibTerm.java type SmtLibTerm (line 27) | public interface SmtLibTerm extends Term { method toSmtLib (line 29) | void toSmtLib(SmtLibShim shim); method substSolverTerms (line 31) | SmtLibTerm substSolverTerms(PMap subst); method freeVars (line 33) | Set freeVars(); FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/StringTerm.java class StringTerm (line 33) | public class StringTerm extends AbstractTerm implements Primitive O accept(TermVisitor v, I in); method accept (line 34) | O accept(TermVisitorExn v, I in) ... method isGround (line 36) | boolean isGround(); method containsUnevaluatedTerm (line 38) | boolean containsUnevaluatedTerm(); method applySubstitution (line 40) | Term applySubstitution(Substitution s); method normalize (line 42) | Term normalize(Substitution s) throws EvaluationException; method varSet (line 44) | void varSet(Set acc); method varSet (line 46) | default Set varSet() { method updateVarCounts (line 52) | void updateVarCounts(Map counts); method getId (line 54) | int getId(); FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Terms.java class Terms (line 35) | public final class Terms { method Terms (line 37) | private Terms() { method emptyArray (line 43) | public static Term[] emptyArray() { method singletonArray (line 47) | public static Term[] singletonArray(Term t) { method map (line 51) | public static Term[] map(Term[] ts, Function f) { method mapExn (line 59) | public static Term[] mapExn(Term[] ts, Exception... method normalize (line 68) | public static Term[] normalize(Term[] ts, Substitution s) throws Evalu... method isGround (line 76) | public static boolean isGround(Term t, Set boundVars) { method getNonBindingVarInstances (line 80) | public static Set getNonBindingVarInstances(Term t) { method getBindingVarInstances (line 113) | public static Set getBindingVarInstances(Term t) { type TermVisitor (line 146) | public static interface TermVisitor { method visit (line 148) | O visit(Var t, I in); method visit (line 150) | O visit(Constructor c, I in); method visit (line 152) | O visit(Primitive p, I in); method visit (line 154) | O visit(Expr e, I in); type TermVisitorExn (line 157) | public static interface TermVisitorExn { method visit (line 159) | O visit(Var x, I in) throws E; method visit (line 161) | O visit(Constructor c, I in) throws E; method visit (line 163) | O visit(Primitive p, I in) throws E; method visit (line 165) | O visit(Expr e, I in) throws E; class DummyTerm (line 172) | private static class DummyTerm implements Term { method DummyTerm (line 176) | public DummyTerm(int id) { method accept (line 180) | @Override method accept (line 185) | @Override method isGround (line 190) | @Override method containsUnevaluatedTerm (line 195) | @Override method applySubstitution (line 200) | @Override method normalize (line 205) | @Override method varSet (line 210) | @Override method getId (line 215) | @Override method updateVarCounts (line 220) | @Override method toString (line 225) | @Override method makeDummyTerm (line 231) | public static Term makeDummyTerm(int id) { method nextId (line 237) | public static int nextId() { method termToTermList (line 241) | @SuppressWarnings("unchecked") method termListToTerm (line 254) | public static Term termListToTerm(List l) { FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/UnificationPredicate.java class UnificationPredicate (line 27) | public class UnificationPredicate implements ComplexLiteral { method make (line 32) | public static UnificationPredicate make(Term lhs, Term rhs, boolean ne... method UnificationPredicate (line 36) | private UnificationPredicate(Term[] args, boolean negated) { method getArgs (line 41) | @Override method getLhs (line 46) | public Term getLhs() { method getRhs (line 50) | public Term getRhs() { method applySubstitution (line 54) | @Override method isNegated (line 61) | @Override method toString (line 66) | @Override method accept (line 71) | @Override method accept (line 76) | @Override method hashCode (line 82) | @Override method equals (line 91) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/UserPredicate.java class UserPredicate (line 28) | public class UserPredicate implements ComplexLiteral { method make (line 34) | public static UserPredicate make(RelationSymbol symbol, Term[] args, b... method UserPredicate (line 38) | private UserPredicate(RelationSymbol symbol, Term[] args, boolean nega... method getSymbol (line 44) | public RelationSymbol getSymbol() { method getArgs (line 48) | @Override method isNegated (line 53) | @Override method applySubstitution (line 58) | @Override method hashCode (line 67) | @Override method equals (line 77) | @Override method toString (line 91) | @Override method accept (line 112) | @Override method accept (line 117) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/ast/Var.java class Var (line 31) | public class Var extends AbstractTerm { method Var (line 37) | protected Var(String name) { method fresh (line 41) | public static Var fresh(String name) { method fresh (line 45) | public static Var fresh() { method isUnderscore (line 49) | public boolean isUnderscore() { method getName (line 53) | public String getName() { method toString (line 57) | @Override method accept (line 62) | @Override method accept (line 67) | @Override method isGround (line 72) | @Override method containsUnevaluatedTerm (line 77) | @Override method applySubstitution (line 82) | @Override method normalize (line 90) | @Override method varSet (line 96) | @Override method updateVarCounts (line 101) | @Override method makeHole (line 109) | public static Var makeHole() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/CodeGen.java class CodeGen (line 47) | public class CodeGen { method CodeGen (line 52) | public CodeGen(BasicProgram prog, File outDir) { method go (line 57) | public void go() throws IOException, URISyntaxException, CodeGenExcept... method copy (line 95) | private void copy(String name) throws IOException { method copySrc (line 103) | private void copySrc(String name) throws IOException { method main (line 107) | public static void main(String[] args) throws Exception { method main (line 114) | public static void main(File file, File outDir) throws Exception { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/CodeGenContext.java class CodeGenContext (line 37) | public class CodeGenContext { method CodeGenContext (line 51) | public CodeGenContext(BasicProgram prog) { method getProgram (line 56) | public BasicProgram getProgram() { method getConstructorSymbols (line 60) | public Set getConstructorSymbols() { method lookupUnqualifiedRepr (line 64) | public synchronized String lookupUnqualifiedRepr(ConstructorSymbol sym) { method lookupRepr (line 74) | public synchronized String lookupRepr(ConstructorSymbol sym) { method lookupRepr (line 78) | public synchronized String lookupRepr(FunctionSymbol sym) { method lookupRepr (line 84) | public synchronized String lookupRepr(RelationSymbol sym) { method lookupRel (line 90) | public synchronized RelationSymbol lookupRel(String repr) { method register (line 94) | public synchronized void register(FunctionSymbol sym, String repr) { method register (line 99) | public synchronized void register(SIntListType type) { method getSouffleTypes (line 103) | public synchronized Set getSouffleTypes() { method newId (line 107) | public String newId(String prefix) { method lookupOrCreateFunctorName (line 111) | public synchronized String lookupOrCreateFunctorName(Term t) { method lookupOrCreateFunctorName (line 115) | public synchronized String lookupOrCreateFunctorName(ConstructorSymbol... method registerFunctorBody (line 119) | public void registerFunctorBody(String functor, SFunctorBody body) { method getFunctors (line 123) | public Set> getFunctors() { method getCustomRelations (line 131) | public Set>> getCustomRelations() { method registerCustomRelation (line 137) | public void registerCustomRelation(String name, Integer arity, SRuleMo... class Worker (line 143) | private class Worker { method Worker (line 145) | public Worker() {} method go (line 147) | public void go() { method processTypes (line 154) | private void processTypes(Set typeSymbols) { method processType (line 162) | private void processType(AlgebraicDataType type) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/CodeGenException.java class CodeGenException (line 22) | public class CodeGenException extends Exception { method CodeGenException (line 26) | public CodeGenException(String message) { method CodeGenException (line 30) | public CodeGenException(Exception cause) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/CodeGenUtil.java class CodeGenUtil (line 43) | public final class CodeGenUtil { method CodeGenUtil (line 45) | private CodeGenUtil() { method printIndent (line 49) | public static void printIndent(PrintWriter out, int indent) { method print (line 55) | public static void print(Iterable stmts, PrintWriter out, int... method printSeparated (line 61) | public static void printSeparated(Iterable exprs, String sep,... method mkComplexTermLookup (line 70) | public static CppExpr mkComplexTermLookup(CppExpr base, int offset) { method copyOver (line 76) | public static void copyOver(BufferedReader in, PrintWriter out, int st... method mkName (line 83) | public static String mkName(Symbol sym) { method toString (line 103) | public static String toString(CppStmt stmt, int indent) { method inputSrcFile (line 109) | public static InputStream inputSrcFile(String file) { method outputSrcFile (line 117) | public static File outputSrcFile(File topDir, String file) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/DeltaFirstQueryPlanner.java class DeltaFirstQueryPlanner (line 30) | public class DeltaFirstQueryPlanner implements QueryPlanner { method DeltaFirstQueryPlanner (line 34) | public DeltaFirstQueryPlanner(CodeGenContext ctx) { method genPlan (line 38) | @Override method findDeltas (line 50) | private Pair> findDeltas(SRule r, Stratum strat... method genPlanForDelta (line 69) | private int[] genPlanForDelta(int delta, int numAtoms) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/FuncsHpp.java class FuncsHpp (line 34) | public class FuncsHpp extends TemplateSrcFile { method FuncsHpp (line 36) | public FuncsHpp(CodeGenContext ctx) { method gen (line 40) | public void gen(BufferedReader br, PrintWriter out) throws IOException { class Worker (line 49) | private class Worker { method Worker (line 56) | public Worker(PrintWriter out) { method makeDeclarations (line 60) | private void makeDeclarations() { method declareFunction (line 81) | private void declareFunction(FunctionSymbol sym) { method registerBuiltInFunction (line 96) | private void registerBuiltInFunction(BuiltInFunctionSymbol sym) { method makeDefinitions (line 424) | private void makeDefinitions() { method makeDefinitionForUserDefinedFunc (line 437) | private void makeDefinitionForUserDefinedFunc(FunctionSymbol sym) { method makeDefinitionForPredFunc (line 485) | private void makeDefinitionForPredFunc(PredicateFunctionSymbol funcS... method mkArgsVec (line 532) | private CppExpr mkArgsVec(CppVar[] args) { method genRelationAggMono (line 540) | private Pair genRelationAggMono( method genRelationAggPoly (line 548) | private Pair genRelationAggPoly( method genRelationContains (line 569) | private Pair genRelationContains( method numBound (line 583) | private int numBound(BindingType[] bindings) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/FunctorCodeGen.java class FunctorCodeGen (line 32) | public class FunctorCodeGen { method FunctorCodeGen (line 39) | public FunctorCodeGen(CodeGenContext ctx) { method emitFunctors (line 43) | public void emitFunctors(File directory) throws CodeGenException { method emitHeader (line 48) | private void emitHeader(File directory) throws CodeGenException { method emitSignature (line 67) | private Map emitSignature(String functor, SFunctorBody bo... method emitSource (line 92) | private void emitSource(File directory) throws CodeGenException { class SourceWorker (line 108) | private class SourceWorker { method SourceWorker (line 112) | public SourceWorker(PrintWriter out_) { method emitFunctors (line 116) | public void emitFunctors() { method emitFunctor (line 123) | private void emitFunctor(String functor, SFunctorBody body) { method unpackParams (line 139) | private Pair> unpackParams(Map genTermBody(Term t, Map... method genDtorBody (line 159) | private Pair genDtorBody(SDestructorBody body, Map... FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/MainCpp.java class MainCpp (line 34) | public class MainCpp extends TemplateSrcFile { method MainCpp (line 36) | public MainCpp(CodeGenContext ctx) { method gen (line 40) | public void gen(BufferedReader br, PrintWriter out) throws IOException... class Worker (line 51) | private class Worker { method Worker (line 55) | public Worker(PrintWriter out) { method loadExternalEdbs (line 59) | public void loadExternalEdbs() { method loadExternalEdbs (line 67) | public void loadExternalEdbs(RelationSymbol sym) { method loadStaticFacts (line 76) | public void loadStaticFacts() throws CodeGenException { method loadStaticFact (line 86) | public void loadStaticFact(RelationSymbol sym, Term[] tup) throws Co... method printIdbsToDisk (line 105) | public void printIdbsToDisk() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/MatchCodeGen.java class MatchCodeGen (line 51) | public class MatchCodeGen { method MatchCodeGen (line 56) | public MatchCodeGen(CodeGenContext ctx) { method gen (line 69) | public Pair gen(MatchExpr match, Map e... class Worker (line 83) | private class Worker { method Worker (line 94) | public Worker(Map env) { method go (line 104) | public Pair go(MatchExpr match) { method optimizeIfExpr (line 138) | private Pair optimizeIfExpr(MatchExpr match) { method optimizeIfExpr (line 165) | private Pair optimizeIfExpr( method preprocess (line 195) | private List> preprocess(List clauses) { method renameVars (line 228) | private Pair> renameVars(Term t, Substitution s) { method processTree (line 278) | private CppStmt processTree(CppExpr scrutinee, PatternMatchTree tree) { class TreeProcessor (line 283) | private class TreeProcessor { method TreeProcessor (line 288) | public TreeProcessor(CppExpr scrutinee, PatternMatchTree tree) { method go (line 299) | public CppStmt go() { method go (line 309) | private CppStmt go(Node node, HashPMap symM... method go (line 370) | private CppStmt go( FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/NopQueryPlanner.java class NopQueryPlanner (line 27) | public class NopQueryPlanner implements QueryPlanner { method genPlan (line 29) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/PatternMatchTree.java class PatternMatchTree (line 40) | public class PatternMatchTree { method PatternMatchTree (line 50) | public PatternMatchTree(List> clauses) { method getRoot (line 60) | public Node getRoot() { method getOutgoingEdges (line 71) | public Iterable, Node>> getOutgoingEdges(Node node) { method toString (line 75) | @Override method build (line 90) | private Node build(PatternMatchingComputation k) { type SymbolicTerm (line 107) | public static interface SymbolicTerm {} type BaseSymbolicTerm (line 110) | public static enum BaseSymbolicTerm implements SymbolicTerm { method toString (line 113) | @Override class DerivedSymbolicTerm (line 123) | public static class DerivedSymbolicTerm implements SymbolicTerm { method DerivedSymbolicTerm (line 128) | private DerivedSymbolicTerm(SymbolicTerm base, int index) { method getBase (line 133) | public SymbolicTerm getBase() { method getIndex (line 137) | public int getIndex() { method toString (line 141) | @Override class PatternMatchingComputation (line 151) | private static class PatternMatchingComputation { method PatternMatchingComputation (line 169) | private PatternMatchingComputation( method mk (line 181) | public static PatternMatchingComputation mk(List> c... method stepComputation (line 205) | public Iterable, PatternMatchingComputation>> stepCompu... method step (line 256) | private static Edge step(Deque d) { method getCurrentSymbolicTerm (line 278) | public SymbolicTerm getCurrentSymbolicTerm() { method isFinished (line 288) | public boolean isFinished() { method getFinalTerm (line 297) | public Term getFinalTerm() { method toString (line 302) | @Override method visit (line 319) | @Override method visit (line 324) | @Override method visit (line 329) | @Override method visit (line 334) | @Override type Node (line 342) | public static interface Node { method accept (line 344) | O accept(NodeVisitor visitor, I in); type NodeVisitor (line 347) | public static interface NodeVisitor { method visit (line 349) | O visit(InternalNode node, I in); method visit (line 351) | O visit(Leaf node, I in); class InternalNode (line 355) | public static class InternalNode implements Node { method InternalNode (line 362) | public InternalNode(SymbolicTerm symbolicTerm) { method getSymbolicTerm (line 366) | public SymbolicTerm getSymbolicTerm() { method accept (line 370) | @Override method toString (line 375) | @Override class Leaf (line 385) | public static class Leaf implements Node { method Leaf (line 389) | public Leaf(Term term) { method getTerm (line 393) | public Term getTerm() { method accept (line 397) | @Override method toString (line 402) | @Override type Edge (line 415) | public static interface Edge { method getLabel (line 417) | T getLabel(); method accept (line 419) | O accept(EdgeVisitor visitor, I in); type EdgeVisitor (line 422) | public static interface EdgeVisitor { method visit (line 424) | O visit(VarEdge e, I in); method visit (line 426) | O visit(PrimEdge e, I in); method visit (line 428) | O visit(CtorEdge e, I in); class AbstractEdge (line 431) | private abstract static class AbstractEdge implements Edge { method AbstractEdge (line 435) | public AbstractEdge(T label) { method getLabel (line 439) | @Override method hashCode (line 444) | @Override method equals (line 452) | @Override class VarEdge (line 467) | public static class VarEdge extends AbstractEdge { method VarEdge (line 469) | public VarEdge(Var label) { method accept (line 473) | @Override method toString (line 478) | @Override class PrimEdge (line 485) | public static class PrimEdge extends AbstractEdge> { method PrimEdge (line 487) | public PrimEdge(Primitive label) { method accept (line 491) | @Override method toString (line 496) | @Override class CtorEdge (line 503) | public static class CtorEdge extends AbstractEdge { method CtorEdge (line 505) | public CtorEdge(ConstructorSymbol label) { method accept (line 509) | @Override method toString (line 514) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/QueryPlanner.java type QueryPlanner (line 27) | public interface QueryPlanner { method genPlan (line 28) | List> genPlan(SRule r, Stratum stratum); FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/RuleTranslator.java class RuleTranslator (line 66) | public class RuleTranslator { method RuleTranslator (line 73) | public RuleTranslator(CodeGenContext ctx, QueryPlanner queryPlanner) { method translate (line 78) | public Pair, List> translate(BasicProgram prog) t... method checkStratification (line 97) | private List checkStratification(BasicProgram prog) throws Co... class Worker (line 113) | private class Worker { method Worker (line 120) | public Worker(BasicProgram prog) { method translate (line 124) | private List translate(BasicRule br) throws CodeGenException { method addVars (line 189) | void addVars(Collection lits, Set vars) { method liveVarsByBody (line 195) | List> liveVarsByBody(SLit head, List> bodies) { method newSmtSupAtom (line 208) | private SAtom newSmtSupAtom(Collection vars) { method translate (line 214) | private List translate(SimpleLiteral lit) { method handleNegatedPredicate (line 281) | private SLit handleNegatedPredicate(SimplePredicate predicate, List<... method createProjectionSymbol (line 307) | private String createProjectionSymbol(RelationSymbol sym, List createProjectionRules() { method createProjection (line 359) | private SRule createProjection(RelationSymbol sym, List pro... method createCheckRule (line 376) | public SRule createCheckRule() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/SmtParserCpp.java class SmtParserCpp (line 53) | public class SmtParserCpp extends TemplateSrcFile { method SmtParserCpp (line 55) | public SmtParserCpp(CodeGenContext ctx) { method gen (line 59) | @Override class Worker (line 71) | private class Worker { method Worker (line 78) | public Worker(PrintWriter out) { method outputShouldRecord (line 88) | private void outputShouldRecord() throws CodeGenException { method outputParseFuncs (line 104) | private void outputParseFuncs() { method genParseFunc (line 121) | private String genParseFunc(AlgebraicDataType ty) { method genConstructorCase (line 145) | private Pair genConstructorCase(CppExpr scrutinee,... method outputParseTerm (line 164) | private void outputParseTerm() { method getSmtVarType (line 172) | private AlgebraicDataType getSmtVarType(ConstructorSymbol sym) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/SmtShimCpp.java class SmtShimCpp (line 38) | public class SmtShimCpp extends TemplateSrcFile { method SmtShimCpp (line 40) | public SmtShimCpp(CodeGenContext ctx) { method gen (line 44) | public void gen(BufferedReader br, PrintWriter out) throws IOException { class Worker (line 59) | private class Worker { method Worker (line 64) | public Worker(PrintWriter out) { method isVarSymbol (line 73) | private boolean isVarSymbol(ConstructorSymbol sym) { method copyDeclarations (line 79) | public void copyDeclarations() { method genSolverVarCases (line 90) | public void genSolverVarCases() { method genSerializationCases (line 100) | public void genSerializationCases() { method genSerializationCase (line 106) | private void genSerializationCase(ConstructorSymbol sym) { method genSerializationCaseBody (line 117) | private CppStmt genSerializationCaseBody(ConstructorSymbol sym) { method genBuiltInConstructorSymbolCase (line 127) | private CppStmt genBuiltInConstructorSymbolCase(BuiltInConstructorSy... method index (line 246) | private int index(ParameterizedConstructorSymbol sym, int i) { method mkCall (line 250) | private CppStmt mkCall(String func) { method genParameterizedConstructorSymbolCase (line 254) | private CppStmt genParameterizedConstructorSymbolCase(ParameterizedC... method genSerializeOp (line 354) | private CppStmt genSerializeOp(String op) { method genSerializeBitString (line 360) | private CppStmt genSerializeBitString(int n, boolean big) { method genSerializeBvToBv (line 369) | private CppStmt genSerializeBvToBv(int from, int to, boolean signed) { method genSerializeFpToBv (line 374) | private CppStmt genSerializeFpToBv(int width, boolean signed) { method genSerializeFp (line 379) | private CppStmt genSerializeFp(int e, int s, boolean big) { method genSerializeInt (line 386) | private CppStmt genSerializeInt(boolean big) { method genSerializeQuantifier (line 392) | private CppStmt genSerializeQuantifier(boolean exists) { method genNeedsTypeAnnotationCases (line 397) | public void genNeedsTypeAnnotationCases() { method genSymbolSerializationCases (line 410) | public void genSymbolSerializationCases() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/SouffleCodeGen.java class SouffleCodeGen (line 36) | public class SouffleCodeGen { method SouffleCodeGen (line 44) | public SouffleCodeGen(CodeGenContext ctx) { method gen (line 48) | public void gen(File directory) throws CodeGenException, IOException { method chooseQueryPlanner (line 61) | private QueryPlanner chooseQueryPlanner() throws CodeGenException { method emitDlFile (line 73) | private void emitDlFile(File dlFile, List rules) throws CodeGen... method genRuleForRetainingInputRelations (line 93) | SRule genRuleForRetainingInputRelations() { method genRulesForEnforcingStratification (line 103) | private List genRulesForEnforcingStratification(List s... method makeAtomWithDummyArgs (line 119) | private SAtom makeAtomWithDummyArgs(RelationSymbol sym, boolean negate... class Worker (line 127) | private class Worker { method Worker (line 131) | public Worker(PrintWriter writer) { method declareTypes (line 135) | public void declareTypes() { method declareRelations (line 144) | public void declareRelations() { method declareRelation (line 156) | private void declareRelation(String name, int arity, SRuleMode mode) { method declareRelation (line 182) | private void declareRelation(RelationSymbol sym, SRuleMode mode) { method declareFunctors (line 186) | public void declareFunctors() { method declareFunctor (line 195) | private void declareFunctor(String name, SFunctorBody body) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/SymbolCpp.java class SymbolCpp (line 30) | public class SymbolCpp extends TemplateSrcFile { method SymbolCpp (line 32) | public SymbolCpp(CodeGenContext ctx) { method gen (line 36) | public void gen(BufferedReader br, PrintWriter out) throws IOException { class Worker (line 47) | private class Worker { method Worker (line 52) | public Worker(PrintWriter out) { method defineSerialization (line 56) | void defineSerialization() { method initializeSymbolTable (line 66) | void initializeSymbolTable() { method defineTupleLookup (line 75) | void defineTupleLookup() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/SymbolHpp.java class SymbolHpp (line 28) | public class SymbolHpp extends TemplateSrcFile { method SymbolHpp (line 30) | public SymbolHpp(CodeGenContext ctx) { method gen (line 34) | public void gen(BufferedReader br, PrintWriter out) throws IOException { class Worker (line 43) | private class Worker { method Worker (line 48) | public Worker(PrintWriter out) { method declareSymbols (line 52) | void declareSymbols() { method defineArity (line 59) | void defineArity() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/TemplateSrcFile.java class TemplateSrcFile (line 24) | public abstract class TemplateSrcFile { method TemplateSrcFile (line 29) | public TemplateSrcFile(String name, CodeGenContext ctx) { method gen (line 34) | void gen(File outDir) throws IOException, CodeGenException { method gen (line 44) | abstract void gen(BufferedReader br, PrintWriter out) throws IOExcepti... FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/TermCodeGen.java class TermCodeGen (line 41) | public class TermCodeGen { method TermCodeGen (line 45) | public TermCodeGen(CodeGenContext ctx) { method mkBool (line 49) | public CppExpr mkBool(CppExpr bool) { method mkComplex (line 70) | public Pair mkComplex(ConstructorSymbol sym, List mkComplex(ConstructorSymbol sym, CppExpr... method mkComplex (line 100) | public CppExpr mkComplex(List acc, ConstructorSymbol sym, Cpp... method mkComplex (line 116) | public CppExpr mkComplex(List acc, ConstructorSymbol sym, Lis... method gen (line 131) | public Pair gen(Term t, Map env) { method gen (line 147) | public CppExpr gen(List acc, Term t, Map env) { method gen (line 161) | public List gen(List acc, List ts, Map> gen(List ts, Map acc, Map env) { method go (line 195) | public CppExpr go(Term t) { method visit (line 202) | @Override method visit (line 208) | @Override method visit (line 222) | @Override method visit (line 227) | @Override method visit (line 236) | @Override method visit (line 243) | @Override method visit (line 252) | @Override method visit (line 257) | @Override method genIntizeTerm (line 270) | public static CppExpr genIntizeTerm(CppExpr term) { method genUnintizeTerm (line 274) | public static CppExpr genUnintizeTerm(CppExpr id) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/TermCpp.java class TermCpp (line 29) | public class TermCpp extends TemplateSrcFile { method TermCpp (line 31) | public TermCpp(CodeGenContext ctx) { method gen (line 35) | public void gen(BufferedReader br, PrintWriter out) throws IOException { class Worker (line 44) | private class Worker { method Worker (line 49) | public Worker(PrintWriter out) { method declareExplicitTemplateInstantiations (line 53) | void declareExplicitTemplateInstantiations() { method declareMakeGenericCases (line 65) | void declareMakeGenericCases() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/TypeCodeGen.java class TypeCodeGen (line 39) | public class TypeCodeGen { method TypeCodeGen (line 43) | public TypeCodeGen(CodeGenContext ctx) { method gen (line 55) | public Pair gen(Type type) { method gen (line 70) | public CppExpr gen(List acc, Type type) { method gen (line 83) | public List gen(List acc, List types) { method gen (line 99) | public Pair> gen(List types) { class Worker (line 105) | private class Worker { method Worker (line 111) | public Worker(List acc, Map env) { method go (line 116) | public CppExpr go(Type type) { method go (line 123) | private List go(List types) { method go1 (line 131) | private CppExpr go1(FunctorType type) { method visit (line 141) | @Override method visit (line 154) | @Override method visit (line 168) | @Override method visit (line 173) | @Override method handleBuiltInType (line 179) | private CppExpr handleBuiltInType(AlgebraicDataType type) { method mkType (line 211) | private CppExpr mkType(String name) { method mkType (line 215) | private CppExpr mkType(String name, List args) { method mkVec (line 225) | private CppExpr mkVec(List args) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/TypeCpp.java class TypeCpp (line 36) | public class TypeCpp extends TemplateSrcFile { method TypeCpp (line 38) | public TypeCpp(CodeGenContext ctx) { method gen (line 42) | public void gen(BufferedReader br, PrintWriter out) throws IOException { class Worker (line 49) | private class Worker { method Worker (line 54) | public Worker(PrintWriter out) { method defineSymbolTypes (line 58) | public void defineSymbolTypes() { method defineSymbolType (line 64) | private void defineSymbolType(ConstructorSymbol sym) { method genCaseBody (line 70) | private CppStmt genCaseBody(ConstructorSymbol sym) { method simplify (line 78) | private FunctorType simplify(FunctorType ft) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppAccess.java class CppAccess (line 24) | public class CppAccess implements CppExpr { method CppAccess (line 30) | private CppAccess(CppExpr val, String field, boolean thruPtr) { method mk (line 36) | public static CppAccess mk(CppExpr val, String field) { method mkThruPtr (line 40) | public static CppAccess mkThruPtr(CppExpr val, String field) { method print (line 44) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppBaseTerm.java class CppBaseTerm (line 31) | public class CppBaseTerm implements CppExpr { method mk (line 35) | public static CppBaseTerm mk(Primitive p) { method CppBaseTerm (line 39) | private CppBaseTerm(Primitive p) { method print (line 43) | @Override method printMakeTerm (line 67) | void printMakeTerm(String type, String val, PrintWriter out) { method handleDouble (line 75) | public static String handleDouble(double d) { method handleFloat (line 87) | public static String handleFloat(float d) { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppBinop.java class CppBinop (line 24) | public class CppBinop implements CppExpr { method CppBinop (line 30) | private CppBinop(CppExpr lhs, String op, CppExpr rhs) { method mk (line 36) | private static CppBinop mk(CppExpr lhs, String op, CppExpr rhs) { method mkOrUpdate (line 40) | public static CppBinop mkOrUpdate(CppExpr lhs, CppExpr rhs) { method mkLogAnd (line 44) | public static CppBinop mkLogAnd(CppExpr lhs, CppExpr rhs) { method mkNotEq (line 48) | public static CppBinop mkNotEq(CppExpr lhs, CppExpr rhs) { method mkLt (line 52) | public static CppBinop mkLt(CppExpr lhs, CppExpr rhs) { method mkAssign (line 56) | public static CppBinop mkAssign(CppExpr lhs, CppExpr rhs) { method mkEq (line 60) | public static CppExpr mkEq(CppExpr lhs, CppExpr rhs) { method mkShiftLeft (line 64) | public static CppExpr mkShiftLeft(CppExpr lhs, CppExpr rhs) { method print (line 68) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppBlock.java class CppBlock (line 25) | public class CppBlock implements CppStmt { method CppBlock (line 29) | private CppBlock(CppStmt stmt) { method mk (line 33) | public static CppBlock mk(CppStmt stmt) { method println (line 37) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppCast.java class CppCast (line 24) | public class CppCast implements CppExpr { method CppCast (line 30) | private CppCast(String castName, String type, CppExpr expr) { method mkReinterpret (line 36) | public static CppCast mkReinterpret(String type, CppExpr expr) { method print (line 40) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppConst.java class CppConst (line 24) | public class CppConst implements CppExpr { method CppConst (line 28) | private CppConst(T val) { method mkTrue (line 32) | public static CppConst mkTrue() { method mkFalse (line 36) | public static CppConst mkFalse() { method mkInt (line 40) | public static CppConst mkInt(int i) { method mkString (line 44) | public static CppConst mkString(String s) { method print (line 48) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppCtor.java class CppCtor (line 27) | public class CppCtor implements CppStmt { method CppCtor (line 34) | private CppCtor(String type, String var, List args, boolean i... method mk (line 41) | public static CppCtor mk(String type, String var, List args) { method mk (line 45) | public static CppCtor mk(String type, String var, CppExpr... args) { method mkInitializer (line 49) | public static CppCtor mkInitializer(String type, String var, List args) { method mk (line 37) | public static CppFuncCall mk(String func, List args) { method mk (line 41) | public static CppFuncCall mk(String func, CppExpr... args) { method print (line 45) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppGoto.java class CppGoto (line 25) | public class CppGoto implements CppStmt { method CppGoto (line 29) | private CppGoto(String label) { method mk (line 33) | public static CppGoto mk(String label) { method println (line 37) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppIf.java class CppIf (line 29) | public class CppIf implements CppStmt { method CppIf (line 34) | private CppIf(List> cases, CppStmt elseBranch) { method mk (line 42) | public static CppIf mk(CppExpr guard, CppStmt thenBranch) { method mk (line 46) | public static CppIf mk(CppExpr guard, CppStmt thenBranch, CppStmt else... method mk (line 50) | public static CppIf mk(List> cases) { method println (line 54) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppLabel.java class CppLabel (line 25) | public class CppLabel implements CppStmt { method CppLabel (line 29) | public CppLabel(String label) { method mk (line 33) | public static CppLabel mk(String label) { method println (line 37) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppMethodCall.java class CppMethodCall (line 27) | public class CppMethodCall implements CppExpr { method CppMethodCall (line 34) | private CppMethodCall(CppExpr rec, String func, List args, bo... method mk (line 41) | public static CppMethodCall mk(CppExpr rec, String func, List... method mk (line 45) | public static CppMethodCall mk(CppExpr rec, String func, CppExpr... ar... method mkThruPtr (line 49) | public static CppMethodCall mkThruPtr(CppExpr rec, String func, List stmts) { method mk (line 36) | public static CppSeq mk(List stmts) { method mk (line 43) | public static CppSeq mk(CppStmt... stmts) { method skip (line 47) | public static CppSeq skip() { method println (line 53) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppStmt.java type CppStmt (line 24) | public interface CppStmt { method println (line 26) | void println(PrintWriter out, int indent); FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppSubscript.java class CppSubscript (line 24) | public class CppSubscript implements CppExpr { method CppSubscript (line 29) | private CppSubscript(CppExpr val, CppExpr idx) { method mk (line 34) | public static CppSubscript mk(CppExpr val, CppExpr idx) { method print (line 38) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppUnop.java class CppUnop (line 24) | public class CppUnop implements CppExpr { method CppUnop (line 29) | private CppUnop(String op, CppExpr expr) { method mk (line 34) | private static CppUnop mk(String op, CppExpr expr) { method mkNot (line 38) | public static CppUnop mkNot(CppExpr expr) { method mkPreIncr (line 42) | public static CppUnop mkPreIncr(CppExpr expr) { method mkDeref (line 46) | public static CppUnop mkDeref(CppExpr expr) { method print (line 50) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppVar.java class CppVar (line 24) | public class CppVar implements CppExpr { method CppVar (line 28) | private CppVar(String var) { method mk (line 32) | public static CppVar mk(String var) { method toString (line 36) | @Override method print (line 41) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppVectorLiteral.java class CppVectorLiteral (line 25) | public class CppVectorLiteral implements CppExpr { method CppVectorLiteral (line 29) | private CppVectorLiteral(List elts) { method mk (line 33) | public static CppVectorLiteral mk(List elts) { method print (line 37) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/cpp/CppWhile.java class CppWhile (line 25) | public class CppWhile implements CppStmt { method CppWhile (line 30) | private CppWhile(CppExpr guard, CppStmt body) { method mk (line 35) | public static CppWhile mk(CppExpr guard, CppStmt body) { method println (line 39) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SAtom.java class SAtom (line 25) | public class SAtom implements SLit { method SAtom (line 31) | public SAtom(String symbol, List args, boolean isNegated) { method getSymbol (line 37) | public String getSymbol() { method toString (line 41) | @Override method varSet (line 59) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SDestructorBody.java class SDestructorBody (line 27) | public class SDestructorBody implements SFunctorBody { method SDestructorBody (line 33) | public SDestructorBody(List args_, Term scrutinee_, ConstructorSy... method getArgs (line 39) | @Override method getRetType (line 44) | @Override method isStateful (line 49) | @Override method getScrutinee (line 54) | public Term getScrutinee() { method getSymbol (line 58) | public ConstructorSymbol getSymbol() { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SExprBody.java class SExprBody (line 26) | public class SExprBody implements SFunctorBody { method SExprBody (line 31) | public SExprBody(List args_, Term body_) { method getBody (line 36) | public Term getBody() { method getArgs (line 40) | @Override method getRetType (line 45) | @Override method isStateful (line 50) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SFunctorBody.java type SFunctorBody (line 25) | public interface SFunctorBody { method getArity (line 27) | default int getArity() { method getArgs (line 31) | List getArgs(); method getRetType (line 33) | SType getRetType(); method isStateful (line 35) | boolean isStateful(); FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SFunctorCall.java class SFunctorCall (line 26) | public class SFunctorCall implements STerm { method SFunctorCall (line 31) | public SFunctorCall(String func, List args) { method SFunctorCall (line 36) | public SFunctorCall(String func, STerm... args) { method toString (line 40) | @Override method varSet (line 56) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SInfixBinaryOpAtom.java class SInfixBinaryOpAtom (line 24) | public class SInfixBinaryOpAtom implements SLit { method SInfixBinaryOpAtom (line 30) | public SInfixBinaryOpAtom(STerm lhs_, String op_, STerm rhs_) { method toString (line 36) | @Override method varSet (line 41) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SInt.java class SInt (line 24) | public class SInt implements STerm { method SInt (line 28) | public SInt(int val_) { method toString (line 32) | @Override method varSet (line 37) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SIntList.java class SIntList (line 25) | public class SIntList implements STerm { method SIntList (line 29) | public SIntList(List ts_) { method toString (line 33) | @Override method varSet (line 47) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SIntListType.java class SIntListType (line 24) | public class SIntListType implements SType { method SIntListType (line 28) | public SIntListType(int arity) { method getName (line 32) | public String getName() { method getDef (line 36) | public String getDef() { method equals (line 51) | @Override method hashCode (line 59) | @Override method toString (line 64) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SIntType.java type SIntType (line 22) | public enum SIntType implements SType { method toString (line 25) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SLit.java type SLit (line 25) | public interface SLit { method varSet (line 27) | default Set varSet() { method varSet (line 33) | void varSet(Set vars); FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SRule.java class SRule (line 27) | public class SRule { method SRule (line 33) | public SRule(SLit head, List body) { method SRule (line 38) | public SRule(SLit head, SLit... body) { method getBody (line 42) | public List getBody() { method setQueryPlan (line 46) | public void setQueryPlan(List> queryPlan) { method toString (line 50) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SRuleMode.java type SRuleMode (line 22) | public enum SRuleMode { FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/STerm.java type STerm (line 25) | public interface STerm { method varSet (line 27) | default Set varSet() { method varSet (line 33) | void varSet(Set vars); FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SType.java type SType (line 22) | public interface SType {} FILE: src/main/java/edu/harvard/seas/pl/formulog/codegen/ast/souffle/SVar.java class SVar (line 25) | public class SVar implements STerm { method SVar (line 29) | public SVar(Var var) { method toString (line 37) | @Override method varSet (line 42) | @Override method hashCode (line 47) | @Override method equals (line 55) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/db/BindingTypeArrayWrapper.java class BindingTypeArrayWrapper (line 25) | public class BindingTypeArrayWrapper { method BindingTypeArrayWrapper (line 28) | public BindingTypeArrayWrapper(BindingType[] arr) { method getArr (line 32) | public BindingType[] getArr() { method hashCode (line 36) | @Override method equals (line 44) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/db/ExampleComparator.java class ExampleComparator (line 25) | public class ExampleComparator implements Comparator { method compare (line 27) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/db/IndexedFactDb.java type IndexedFactDb (line 26) | public interface IndexedFactDb { method getSymbols (line 28) | Set getSymbols(); method getAll (line 30) | Iterable getAll(RelationSymbol sym); method isEmpty (line 32) | boolean isEmpty(RelationSymbol sym); method countDistinct (line 34) | int countDistinct(RelationSymbol sym); method numIndices (line 36) | int numIndices(RelationSymbol sym); method countDuplicates (line 38) | int countDuplicates(RelationSymbol sym); method get (line 40) | Iterable get(RelationSymbol sym, Term[] key, int index); method add (line 42) | boolean add(RelationSymbol sym, Term[] args); method addAll (line 44) | boolean addAll(RelationSymbol sym, Iterable tups); method hasFact (line 46) | boolean hasFact(RelationSymbol sym, Term[] args); method clear (line 48) | void clear(); FILE: src/main/java/edu/harvard/seas/pl/formulog/db/IndexedFactDbBuilder.java type IndexedFactDbBuilder (line 25) | public interface IndexedFactDbBuilder { method makeIndex (line 27) | int makeIndex(RelationSymbol sym, BindingType[] pat); method build (line 29) | T build(); FILE: src/main/java/edu/harvard/seas/pl/formulog/db/MinChainCover.java class MinChainCover (line 35) | public class MinChainCover { method MinChainCover (line 39) | public MinChainCover(BiFunction lessThan) { method compute (line 43) | public Iterable> compute(Set elts) { class Worker (line 47) | private class Worker { method toString (line 56) | @Override method toString (line 65) | @Override method Worker (line 71) | @SuppressWarnings("unchecked") method go (line 83) | public Iterable> go() { method mkBipartiteGraph (line 88) | private void mkBipartiteGraph() { method considerEdge (line 107) | private void considerEdge(int i, Node iv, int j) { method memoize (line 117) | private void memoize(int i, int j) { method computeMaxFlowMap (line 135) | private Map computeMaxFlowMap() { method mkChains (line 140) | @SuppressWarnings("unchecked") type Node (line 172) | private static interface Node {} class InnerNode (line 174) | private class InnerNode implements Node { method InnerNode (line 179) | public InnerNode(T elt, boolean side) { method hashCode (line 184) | @Override method equals (line 193) | @Override method toString (line 207) | @Override class Edge (line 213) | private static class Edge { method Edge (line 218) | public Edge(Node src, Node dst) { method hashCode (line 223) | @Override method equals (line 232) | @Override method toString (line 247) | @Override method main (line 253) | public static void main(String[] args) { FILE: src/main/java/edu/harvard/seas/pl/formulog/db/MinIndex.java class MinIndex (line 31) | public final class MinIndex { method MinIndex (line 33) | private MinIndex() { method compute (line 37) | public static Map, Iterable> compute(Set domain, Set<... method padIndex (line 52) | private static void padIndex(List idx, Set domain) { method computeIndex (line 61) | private static List computeIndex(Iterable> chain) { method main (line 75) | public static void main(String[] args) { FILE: src/main/java/edu/harvard/seas/pl/formulog/db/SortedIndexedFactDb.java class SortedIndexedFactDb (line 47) | public class SortedIndexedFactDb implements IndexedFactDb { method SortedIndexedFactDb (line 55) | private SortedIndexedFactDb( class HashedTuple (line 65) | private static class HashedTuple { method hashCode (line 68) | @Override method equals (line 73) | @Override method getSymbols (line 82) | @Override method getAll (line 87) | @Override method isEmpty (line 92) | @Override method countDistinct (line 97) | @Override method countDuplicates (line 102) | @Override method getUniqueIndices (line 111) | private Set getUniqueIndices(RelationSymbol sym) { method get (line 119) | @Override method hashFilterAdd (line 125) | private boolean hashFilterAdd(RelationSymbol sym, Term[] tup) { method hashFilterContains (line 136) | private boolean hashFilterContains(RelationSymbol sym, Term[] tup) { method add (line 144) | @Override method addAll (line 163) | @Override method allNormal (line 187) | private boolean allNormal(Term[] args) { method hasFact (line 196) | @Override method clear (line 205) | @Override method toString (line 217) | @Override method toSimplifiedString (line 231) | public String toSimplifiedString() { method numIndices (line 246) | @Override method getIndexInfo (line 254) | public IndexInfo getIndexInfo(RelationSymbol sym, int idx) { method getMasterIndex (line 263) | public int getMasterIndex(RelationSymbol sym) { class SortedIndexedFactDbBuilder (line 278) | public static class SortedIndexedFactDbBuilder method SortedIndexedFactDbBuilder (line 287) | public SortedIndexedFactDbBuilder(Set allSyms) { method makeIndex (line 296) | @Override method build (line 311) | @Override method mkIndices (line 328) | @SuppressWarnings("unchecked") method indicesWellFormed (line 360) | private static boolean indicesWellFormed( method countNumNotIgnored (line 369) | private static int countNumNotIgnored(BindingType[] pat) { method mkNaiveIndices (line 379) | private List> mkNaiveIndices( method mkMinIndices (line 392) | private List> mkMinIndices( method mkMinIndices (line 409) | private Map> mkMinIndices( method mkDomain (line 447) | private static Set mkDomain(int arity, Set ignored) { method partitionByIgnoredPositions (line 457) | private static Map, Set>> ... method findIgnoredPositions (line 469) | private static Set findIgnoredPositions(BindingType[] pat) { method compare (line 482) | @Override class IndexedFactSet (line 491) | private static class IndexedFactSet { method make (line 501) | public static IndexedFactSet make(BindingType[] pat) { method make (line 516) | private static IndexedFactSet make(List order) { method comparatorLength (line 539) | public int comparatorLength() { method getAll (line 543) | public Iterable getAll() { method clear (line 547) | public void clear() { method isEmpty (line 552) | public boolean isEmpty() { method IndexedFactSet (line 556) | private IndexedFactSet(NavigableSet s, List compara... method getId (line 562) | public int getId() { method add (line 566) | public boolean add(Term[] arr) { method addAll (line 574) | public boolean addAll(Iterable tups) { method count (line 589) | public int count() { method lookup (line 593) | public Iterable lookup(Term[] tup, BindingType[] pat) { method contains (line 608) | public boolean contains(Term[] tup) { method toString (line 612) | @Override class TermArrayComparator (line 624) | private static class TermArrayComparator implements Comparator { method TermArrayComparator (line 628) | public TermArrayComparator(int[] pat) { method compare (line 632) | @Override class IndexInfo (line 648) | public class IndexInfo { method IndexInfo (line 654) | private IndexInfo(int indexId, List comparatorOrder, Bindin... method getComparatorOrder (line 660) | public List getComparatorOrder() { method getPattern (line 664) | public BindingType[] getPattern() { method getIndexId (line 668) | public int getIndexId() { FILE: src/main/java/edu/harvard/seas/pl/formulog/db/TupleComparatorGenerator.java class TupleComparatorGenerator (line 46) | public class TupleComparatorGenerator extends ClassLoader { method generate (line 55) | public Comparator generate(int[] accessPat) method generate1 (line 74) | @SuppressWarnings("unchecked") method addCompareMethod (line 99) | private void addCompareMethod(ClassGen cg, int[] accessPat) { method genCast (line 134) | private InstructionList genCast(InstructionFactory f, int argn) { method genComparison (line 143) | private Pair genComparison(Instruc... method genLoad (line 155) | private InstructionList genLoad(InstructionFactory f, int argn, int id... method genICmp (line 172) | private Pair genICmp(InstructionFa... FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/AbstractStratumEvaluator.java class AbstractStratumEvaluator (line 52) | public abstract class AbstractStratumEvaluator implements StratumEvaluat... method AbstractStratumEvaluator (line 60) | public AbstractStratumEvaluator(Iterable rules, CountingF... method processRules (line 65) | private void processRules(Iterable rules) { method findSplitPositions (line 80) | private static boolean[] findSplitPositions(IndexedRule rule, SmtCallF... method findCheckPosition (line 96) | private static int findCheckPosition(IndexedRule rule) { method reportFact (line 109) | protected abstract void reportFact(RelationSymbol sym, Term[] args); method checkFact (line 111) | protected abstract boolean checkFact( method lookup (line 114) | protected abstract Iterable> lookup( class RuleSuffixEvaluator (line 119) | @SuppressWarnings("serial") method RuleSuffixEvaluator (line 130) | protected RuleSuffixEvaluator( method RuleSuffixEvaluator (line 151) | protected RuleSuffixEvaluator( method doTask (line 174) | @Override method evaluate (line 199) | private void evaluate(Term[] ans) throws UncheckedEvaluationException { method updateBinding (line 292) | private void updateBinding(SimplePredicate p, Term[] ans) { FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/EagerStratumEvaluator.java class EagerStratumEvaluator (line 53) | public final class EagerStratumEvaluator extends AbstractStratumEvaluator { method EagerStratumEvaluator (line 61) | public EagerStratumEvaluator( method evaluate (line 71) | @Override method reportFact (line 82) | @Override method checkFact (line 103) | @Override method lookup (line 112) | @Override class RulePrefixEvaluator (line 141) | @SuppressWarnings("serial") method RulePrefixEvaluator (line 147) | protected RulePrefixEvaluator(IndexedRule rule, Term[] deltaArgs) { method handleDelta (line 156) | private final boolean handleDelta(SimplePredicate pred, Substitution s) method doTask (line 182) | @Override method evaluate (line 200) | private void evaluate() throws EvaluationException { FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/EvalUtil.java class EvalUtil (line 31) | public final class EvalUtil { method EvalUtil (line 33) | private EvalUtil() { method findDelta (line 37) | public static RelationSymbol findDelta(IndexedRule rule) { FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/Evaluation.java type Evaluation (line 26) | public interface Evaluation { method run (line 28) | void run() throws EvaluationException; method getResult (line 30) | EvaluationResult getResult(); method hasQuery (line 32) | boolean hasQuery(); method getQuery (line 34) | UserPredicate getQuery(); method getInputProgram (line 36) | Program getInputProgram(); FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/EvaluationException.java class EvaluationException (line 22) | public class EvaluationException extends Exception { method EvaluationException (line 26) | public EvaluationException() {} method EvaluationException (line 28) | public EvaluationException(String message) { method EvaluationException (line 32) | public EvaluationException(Throwable cause) { method EvaluationException (line 36) | public EvaluationException(String message, Throwable cause) { method EvaluationException (line 40) | public EvaluationException( FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/EvaluationResult.java type EvaluationResult (line 26) | public interface EvaluationResult { method getAll (line 28) | Iterable getAll(RelationSymbol sym); method getQueryAnswer (line 30) | Iterable getQueryAnswer(); method getSymbols (line 32) | Set getSymbols(); method getCount (line 34) | int getCount(RelationSymbol sym); FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/IndexedRule.java class IndexedRule (line 35) | public class IndexedRule implements Rule { method IndexedRule (line 41) | private IndexedRule( method make (line 48) | public static IndexedRule make( method createIndexes (line 53) | private List createIndexes(Function... method getHead (line 85) | @Override method getBodySize (line 90) | @Override method getBody (line 95) | @Override method getDbIndex (line 100) | public Integer getDbIndex(int idx) { method toString (line 104) | @Override method iterator (line 130) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/PredicateFunctionSetter.java class PredicateFunctionSetter (line 59) | public class PredicateFunctionSetter { method PredicateFunctionSetter (line 66) | public PredicateFunctionSetter(FunctionDefManager funcs, IndexedFactDb... method setDb (line 77) | public void setDb(IndexedFactDb db) { method preprocess (line 82) | public void preprocess(Rule r) { method preprocess (line 89) | public void preprocess(ComplexLiteral l) { method preprocess (line 95) | public void preprocess(Term t) { method visit (line 102) | @Override method visit (line 107) | @Override method visit (line 115) | @Override method visit (line 120) | @Override method visit (line 130) | @Override method visit (line 140) | @Override method visit (line 159) | @Override method visit (line 164) | @Override method setPredicateFunction (line 171) | private void setPredicateFunction(DummyFunctionDef def) { method turnIgnoredToFree (line 191) | private static BindingType[] turnIgnoredToFree(BindingType[] bindings) { method makePredicate (line 202) | private FunctionDef makePredicate(PredicateFunctionSymbol funcSym, Ter... method makeAggregate (line 230) | private FunctionDef makeAggregate( method padArgs (line 283) | private Term[] padArgs(PredicateFunctionSymbol funcSym) { method fillInPaddedArgs (line 292) | private Term[] fillInPaddedArgs( FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/RoundBasedStratumEvaluator.java class RoundBasedStratumEvaluator (line 54) | public final class RoundBasedStratumEvaluator extends AbstractStratumEva... method RoundBasedStratumEvaluator (line 66) | public RoundBasedStratumEvaluator( method evaluate (line 82) | @Override method reportFact (line 118) | @Override method checkFact (line 134) | @Override method updateDbs (line 143) | private void updateDbs() { class UpdateDbTask (line 160) | @SuppressWarnings("serial") method UpdateDbTask (line 166) | protected UpdateDbTask(RelationSymbol sym, Iterator... method doTask (line 172) | @Override method lookup (line 182) | @Override class RulePrefixEvaluator (line 215) | @SuppressWarnings("serial") method RulePrefixEvaluator (line 220) | protected RulePrefixEvaluator(IndexedRule rule) { method doTask (line 228) | @Override method evaluate (line 246) | private void evaluate() throws EvaluationException { method recordRoundStart (line 303) | private StopWatch recordRoundStart(int round) { method recordRoundEnd (line 316) | private void recordRoundEnd(int round, StopWatch watch) { method recordDbUpdateStart (line 325) | private StopWatch recordDbUpdateStart() { method recordDbUpdateEnd (line 337) | private void recordDbUpdateEnd(StopWatch watch) { FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/SemiNaiveEvaluation.java class SemiNaiveEvaluation (line 79) | public class SemiNaiveEvaluation implements Evaluation { method setup (line 95) | @SuppressWarnings("serial") method tweakDeltaAtom (line 206) | private static Rule tweakDeltaAtom( method checkRule (line 246) | private static void checkRule(ValidRule r, boolean eagerEval) throws I... method maybeDoubleCheckSolver (line 262) | private static SmtLibSolver maybeDoubleCheckSolver(SmtLibSolver inner) { method makeNaiveSolver (line 269) | private static SmtLibSolver makeNaiveSolver() { method getSmtManager (line 273) | private static SmtLibSolver getSmtManager() { method getTrackedRelations (line 329) | static Set getTrackedRelations(SymbolManager sm) { method chooseScoringFunction (line 347) | static BiFunction, Integer> chooseScoringFunc... method score0 (line 370) | static int score0(ComplexLiteral l, Set boundVars) { method score1 (line 374) | static int score1(ComplexLiteral l, Set boundVars) { method score2 (line 409) | static int score2(ComplexLiteral l, Set boundVars) { method score3 (line 437) | static int score3(ComplexLiteral l, Set boundVars) { method score4 (line 471) | static int score4(ComplexLiteral l, Set boundVars) { method score5 (line 491) | static int score5(ComplexLiteral l, Set boundVars) { method SemiNaiveEvaluation (line 511) | SemiNaiveEvaluation( method getInputProgram (line 533) | @Override method run (line 538) | @Override method evaluateStratum (line 596) | private void evaluateStratum(Stratum stratum) throws EvaluationExcepti... method getResult (line 610) | @Override class FactIterator (line 643) | static class FactIterator implements Iterator { method FactIterator (line 648) | public FactIterator(RelationSymbol sym, Iterator bindings) { method hasNext (line 653) | @Override method next (line 658) | @Override method hasQuery (line 664) | @Override method getQuery (line 669) | @Override method getDb (line 674) | public SortedIndexedFactDb getDb() { FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/SemiNaiveRule.java class SemiNaiveRule (line 37) | public class SemiNaiveRule extends AbstractRule body) { method make (line 43) | public static Set make( method make (line 73) | private static SemiNaiveRule make( class DeltaSymbol (line 89) | public static class DeltaSymbol extends AbstractWrappedRelationSymbol<... method DeltaSymbol (line 91) | public DeltaSymbol(RelationSymbol baseSymbol) { method toString (line 96) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/SmtCallFinder.java class SmtCallFinder (line 42) | public class SmtCallFinder { method SmtCallFinder (line 47) | public SmtCallFinder() { method containsSmtCall (line 55) | public boolean containsSmtCall(Literal l) { method visit (line 67) | @Override method visit (line 72) | @Override method visit (line 82) | @Override method visit (line 87) | @Override method visit (line 96) | @Override method visit (line 109) | @Override method visit (line 130) | @Override method visit (line 135) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/StratumEvaluator.java type StratumEvaluator (line 22) | public interface StratumEvaluator { method evaluate (line 24) | void evaluate() throws EvaluationException; FILE: src/main/java/edu/harvard/seas/pl/formulog/eval/UncheckedEvaluationException.java class UncheckedEvaluationException (line 22) | public class UncheckedEvaluationException extends RuntimeException { method UncheckedEvaluationException (line 26) | public UncheckedEvaluationException() {} method UncheckedEvaluationException (line 28) | public UncheckedEvaluationException(String message) { method UncheckedEvaluationException (line 32) | public UncheckedEvaluationException(Throwable cause) { method UncheckedEvaluationException (line 36) | public UncheckedEvaluationException(String message, Throwable cause) { method UncheckedEvaluationException (line 40) | public UncheckedEvaluationException( FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/BuiltInFunctionDefFactory.java class BuiltInFunctionDefFactory (line 43) | public final class BuiltInFunctionDefFactory { method BuiltInFunctionDefFactory (line 47) | public BuiltInFunctionDefFactory(SmtLibSolver smt) { method get (line 51) | public FunctionDef get(BuiltInFunctionSymbol sym) { type I32Add (line 271) | private enum I32Add implements FunctionDef { method getSymbol (line 274) | @Override method evaluate (line 279) | @Override type I32Sub (line 287) | private enum I32Sub implements FunctionDef { method getSymbol (line 290) | @Override method evaluate (line 295) | @Override type I32Mul (line 303) | private enum I32Mul implements FunctionDef { method getSymbol (line 306) | @Override method evaluate (line 311) | @Override type I32Sdiv (line 319) | private enum I32Sdiv implements FunctionDef { method getSymbol (line 322) | @Override method evaluate (line 327) | @Override type I32Srem (line 338) | private enum I32Srem implements FunctionDef { method getSymbol (line 341) | @Override method evaluate (line 346) | @Override method getSymbol (line 360) | @Override method evaluate (line 365) | @Override method getSymbol (line 379) | @Override method evaluate (line 384) | @Override type I32Gt (line 395) | private enum I32Gt implements FunctionDef { method getSymbol (line 398) | @Override method evaluate (line 403) | @Override type I32Gte (line 411) | private enum I32Gte implements FunctionDef { method getSymbol (line 414) | @Override method evaluate (line 419) | @Override type I32Lt (line 427) | private enum I32Lt implements FunctionDef { method getSymbol (line 430) | @Override method evaluate (line 435) | @Override type I32Lte (line 443) | private enum I32Lte implements FunctionDef { method getSymbol (line 446) | @Override method evaluate (line 451) | @Override type I32And (line 459) | private enum I32And implements FunctionDef { method getSymbol (line 462) | @Override method evaluate (line 467) | @Override type I32Or (line 475) | private enum I32Or implements FunctionDef { method getSymbol (line 478) | @Override method evaluate (line 483) | @Override type I32Xor (line 491) | private enum I32Xor implements FunctionDef { method getSymbol (line 494) | @Override method evaluate (line 499) | @Override type I32Neg (line 507) | private enum I32Neg implements FunctionDef { method getSymbol (line 510) | @Override method evaluate (line 515) | @Override method getSymbol (line 525) | @Override method evaluate (line 530) | @Override method getSymbol (line 541) | @Override method evaluate (line 546) | @Override method getSymbol (line 557) | @Override method evaluate (line 562) | @Override method getSymbol (line 573) | @Override method evaluate (line 578) | @Override method getSymbol (line 589) | @Override method evaluate (line 594) | @Override method getSymbol (line 605) | @Override method evaluate (line 610) | @Override type I64Add (line 618) | private enum I64Add implements FunctionDef { method getSymbol (line 621) | @Override method evaluate (line 626) | @Override type I64Sub (line 634) | private enum I64Sub implements FunctionDef { method getSymbol (line 637) | @Override method evaluate (line 642) | @Override type I64Mul (line 650) | private enum I64Mul implements FunctionDef { method getSymbol (line 653) | @Override method evaluate (line 658) | @Override type I64Sdiv (line 666) | private enum I64Sdiv implements FunctionDef { method getSymbol (line 669) | @Override method evaluate (line 674) | @Override type I64Srem (line 685) | private enum I64Srem implements FunctionDef { method getSymbol (line 688) | @Override method evaluate (line 693) | @Override method getSymbol (line 707) | @Override method evaluate (line 712) | @Override method getSymbol (line 726) | @Override method evaluate (line 731) | @Override type I64Gt (line 742) | private enum I64Gt implements FunctionDef { method getSymbol (line 745) | @Override method evaluate (line 750) | @Override type I64Gte (line 758) | private enum I64Gte implements FunctionDef { method getSymbol (line 761) | @Override method evaluate (line 766) | @Override type I64Lt (line 774) | private enum I64Lt implements FunctionDef { method getSymbol (line 777) | @Override method evaluate (line 782) | @Override type I64Lte (line 790) | private enum I64Lte implements FunctionDef { method getSymbol (line 793) | @Override method evaluate (line 798) | @Override type I64And (line 806) | private enum I64And implements FunctionDef { method getSymbol (line 809) | @Override method evaluate (line 814) | @Override type I64Or (line 822) | private enum I64Or implements FunctionDef { method getSymbol (line 825) | @Override method evaluate (line 830) | @Override type I64Xor (line 838) | private enum I64Xor implements FunctionDef { method getSymbol (line 841) | @Override method evaluate (line 846) | @Override type I64Neg (line 854) | private enum I64Neg implements FunctionDef { method getSymbol (line 857) | @Override method evaluate (line 862) | @Override type FP32Add (line 869) | private enum FP32Add implements FunctionDef { method getSymbol (line 872) | @Override method evaluate (line 877) | @Override type FP32Sub (line 885) | private enum FP32Sub implements FunctionDef { method getSymbol (line 888) | @Override method evaluate (line 893) | @Override type FP32Mul (line 901) | private enum FP32Mul implements FunctionDef { method getSymbol (line 904) | @Override method evaluate (line 909) | @Override type FP32Div (line 917) | private enum FP32Div implements FunctionDef { method getSymbol (line 920) | @Override method evaluate (line 925) | @Override type FP32Rem (line 936) | private enum FP32Rem implements FunctionDef { method getSymbol (line 939) | @Override method evaluate (line 944) | @Override type FP32Gt (line 955) | private enum FP32Gt implements FunctionDef { method getSymbol (line 958) | @Override method evaluate (line 963) | @Override type FP32Gte (line 971) | private enum FP32Gte implements FunctionDef { method getSymbol (line 974) | @Override method evaluate (line 979) | @Override type FP32Lt (line 987) | private enum FP32Lt implements FunctionDef { method getSymbol (line 990) | @Override method evaluate (line 995) | @Override type FP32Lte (line 1003) | private enum FP32Lte implements FunctionDef { method getSymbol (line 1006) | @Override method evaluate (line 1011) | @Override type FP32Eq (line 1019) | private enum FP32Eq implements FunctionDef { method getSymbol (line 1022) | @Override method evaluate (line 1027) | @Override type FP32Neg (line 1035) | private enum FP32Neg implements FunctionDef { method getSymbol (line 1038) | @Override method evaluate (line 1043) | @Override type FP64Add (line 1050) | private enum FP64Add implements FunctionDef { method getSymbol (line 1053) | @Override method evaluate (line 1058) | @Override type FP64Sub (line 1066) | private enum FP64Sub implements FunctionDef { method getSymbol (line 1069) | @Override method evaluate (line 1074) | @Override type FP64Mul (line 1082) | private enum FP64Mul implements FunctionDef { method getSymbol (line 1085) | @Override method evaluate (line 1090) | @Override type FP64Div (line 1098) | private enum FP64Div implements FunctionDef { method getSymbol (line 1101) | @Override method evaluate (line 1106) | @Override type FP64Rem (line 1117) | private enum FP64Rem implements FunctionDef { method getSymbol (line 1120) | @Override method evaluate (line 1125) | @Override type FP64Gt (line 1136) | private enum FP64Gt implements FunctionDef { method getSymbol (line 1139) | @Override method evaluate (line 1144) | @Override type FP64Gte (line 1152) | private enum FP64Gte implements FunctionDef { method getSymbol (line 1155) | @Override method evaluate (line 1160) | @Override type FP64Lt (line 1168) | private enum FP64Lt implements FunctionDef { method getSymbol (line 1171) | @Override method evaluate (line 1176) | @Override type FP64Lte (line 1184) | private enum FP64Lte implements FunctionDef { method getSymbol (line 1187) | @Override method evaluate (line 1192) | @Override type FP64Eq (line 1200) | private enum FP64Eq implements FunctionDef { method getSymbol (line 1203) | @Override method evaluate (line 1208) | @Override type FP64Neg (line 1216) | private enum FP64Neg implements FunctionDef { method getSymbol (line 1219) | @Override method evaluate (line 1224) | @Override type Beq (line 1231) | private enum Beq implements FunctionDef { method getSymbol (line 1234) | @Override method evaluate (line 1239) | @Override type Bneq (line 1247) | private enum Bneq implements FunctionDef { method getSymbol (line 1250) | @Override method evaluate (line 1255) | @Override method getSymbol (line 1266) | @Override method evaluate (line 1271) | @Override type ToString (line 1281) | private enum ToString implements FunctionDef { method getSymbol (line 1284) | @Override method evaluate (line 1289) | @Override type StringCmp (line 1299) | private enum StringCmp implements FunctionDef { method getSymbol (line 1302) | @Override method evaluate (line 1307) | @Override type I32Scmp (line 1315) | private enum I32Scmp implements FunctionDef { method getSymbol (line 1318) | @Override method evaluate (line 1323) | @Override type I32Ucmp (line 1331) | private enum I32Ucmp implements FunctionDef { method getSymbol (line 1334) | @Override method evaluate (line 1339) | @Override type I64Scmp (line 1347) | private enum I64Scmp implements FunctionDef { method getSymbol (line 1350) | @Override method evaluate (line 1355) | @Override type I64Ucmp (line 1363) | private enum I64Ucmp implements FunctionDef { method getSymbol (line 1366) | @Override method evaluate (line 1371) | @Override type StringConcat (line 1379) | private enum StringConcat implements FunctionDef { method getSymbol (line 1382) | @Override method evaluate (line 1387) | @Override method getSymbol (line 1398) | @Override method evaluate (line 1403) | @Override method getSymbol (line 1414) | @Override method evaluate (line 1419) | @Override method getSymbol (line 1430) | @Override method evaluate (line 1435) | @Override method getSymbol (line 1449) | @Override method evaluate (line 1454) | @Override method getSymbol (line 1470) | @Override method evaluate (line 1475) | @Override method getSymbol (line 1489) | @Override method evaluate (line 1494) | @Override method getSymbol (line 1509) | @Override method evaluate (line 1514) | @Override method querySmt (line 1524) | private Pair querySmt(SmtLibTerm assertions, boolean... method querySmt (line 1529) | private Pair querySmt(SmtLibTerm assertions, boolean... method breakIntoConjuncts (line 1534) | private List breakIntoConjuncts(SmtLibTerm assertion) { method breakIntoConjunctsNegated (line 1540) | private void breakIntoConjunctsNegated(SmtLibTerm assertion, List... method negate (line 1589) | private SmtLibTerm negate(Term t) { method querySmt (line 1593) | private Pair querySmt( method querySmtWithMemo (line 1621) | private SmtResult querySmtWithMemo(Set assertions, boolean... method getSymbol (line 1648) | @Override method evaluate (line 1653) | @Override method getSymbol (line 1672) | @Override method evaluate (line 1677) | @Override method getSymbol (line 1700) | @Override method evaluate (line 1705) | @Override method getSymbol (line 1727) | @Override method evaluate (line 1732) | @Override method extractOptionalTimeout (line 1748) | private static int extractOptionalTimeout(Constructor opt) { method getSymbol (line 1758) | @Override method evaluate (line 1763) | @Override type QueryModel (line 1775) | private enum QueryModel implements FunctionDef { method getSymbol (line 1778) | @Override method evaluate (line 1783) | @Override method boolToBoolTerm (line 1795) | private static Term boolToBoolTerm(boolean b) { type Print (line 1803) | private enum Print implements FunctionDef { method getSymbol (line 1806) | @Override method evaluate (line 1811) | @Override method makeCmp (line 1818) | private static Term makeCmp(T x, T y, BiFunction cm... FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/DummyFunctionDef.java class DummyFunctionDef (line 26) | public class DummyFunctionDef implements FunctionDef { method DummyFunctionDef (line 31) | public DummyFunctionDef(FunctionSymbol sym) { method getSymbol (line 35) | @Override method evaluate (line 40) | @Override method setDef (line 48) | public void setDef(FunctionDef def) { method getDef (line 52) | public Object getDef() { FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/FunctionDef.java type FunctionDef (line 26) | public interface FunctionDef { method getSymbol (line 28) | FunctionSymbol getSymbol(); method evaluate (line 30) | Term evaluate(Term[] args) throws EvaluationException; FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/FunctionDefManager.java class FunctionDefManager (line 31) | public class FunctionDefManager { method FunctionDefManager (line 35) | public FunctionDefManager() { method register (line 41) | public void register(FunctionDef def) { method reregister (line 48) | public void reregister(FunctionDef def) { method lookup (line 55) | public FunctionDef lookup(FunctionSymbol symbol) { method hasDefinition (line 63) | public boolean hasDefinition(FunctionSymbol sym) { method getFunctionSymbols (line 67) | public Set getFunctionSymbols() { method loadBuiltInFunctions (line 71) | public void loadBuiltInFunctions(SmtLibSolver smt) { FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/OpaqueSetOps.java class OpaqueSetOps (line 33) | public final class OpaqueSetOps { method OpaqueSetOps (line 35) | private OpaqueSetOps() { method getSymbol (line 42) | @Override method evaluate (line 47) | @Override method getSymbol (line 56) | @Override method evaluate (line 61) | @Override method getSymbol (line 71) | @Override method evaluate (line 76) | @Override method getSymbol (line 86) | @Override method evaluate (line 91) | @Override method getSymbol (line 101) | @Override method evaluate (line 106) | @Override method getSymbol (line 117) | @Override method evaluate (line 122) | @Override method getSymbol (line 133) | @Override method evaluate (line 138) | @Override method getSymbol (line 152) | @Override method evaluate (line 157) | @Override method getSymbol (line 167) | @Override method evaluate (line 172) | @Override method getSymbol (line 181) | @Override method evaluate (line 186) | @Override method getSymbol (line 197) | @Override method evaluate (line 202) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/PredicateFunctionDef.java type PredicateFunctionDef (line 24) | public interface PredicateFunctionDef extends FunctionDef { method getIndex (line 26) | int getIndex(); method getBindingsForIndex (line 28) | BindingType[] getBindingsForIndex(); FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/PrimitiveConversions.java class PrimitiveConversions (line 35) | public final class PrimitiveConversions { method PrimitiveConversions (line 37) | private PrimitiveConversions() { method getSymbol (line 44) | @Override method evaluate (line 49) | @Override method getSymbol (line 59) | @Override method evaluate (line 64) | @Override method getSymbol (line 74) | @Override method evaluate (line 79) | @Override method getSymbol (line 89) | @Override method evaluate (line 94) | @Override method getSymbol (line 104) | @Override method evaluate (line 109) | @Override method getSymbol (line 119) | @Override method evaluate (line 124) | @Override method getSymbol (line 134) | @Override method evaluate (line 139) | @Override method getSymbol (line 149) | @Override method evaluate (line 154) | @Override method getSymbol (line 164) | @Override method evaluate (line 169) | @Override method getSymbol (line 179) | @Override method evaluate (line 184) | @Override method getSymbol (line 194) | @Override method evaluate (line 199) | @Override method getSymbol (line 209) | @Override method evaluate (line 214) | @Override method getSymbol (line 226) | @Override method evaluate (line 231) | @Override method getSymbol (line 252) | @Override method evaluate (line 257) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/RecordAccessor.java class RecordAccessor (line 27) | public class RecordAccessor implements FunctionDef { method RecordAccessor (line 32) | public RecordAccessor(FunctionSymbol sym, int index) { method getSymbol (line 37) | @Override method getIndex (line 42) | public int getIndex() { method evaluate (line 46) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/functions/UserFunctionDef.java class UserFunctionDef (line 30) | public class UserFunctionDef implements FunctionDef { method UserFunctionDef (line 36) | private UserFunctionDef(FunctionSymbol sym, List params, Term bod... method getParams (line 42) | public List getParams() { method getBody (line 46) | public Term getBody() { method setBody (line 50) | public void setBody(Term newBody) { method getSymbol (line 54) | @Override method evaluate (line 59) | @Override method get (line 75) | public static UserFunctionDef get(FunctionSymbol sym, List params... method toString (line 79) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/magic/AdornedSymbol.java class AdornedSymbol (line 27) | class AdornedSymbol implements WrappedRelationSymbol { method AdornedSymbol (line 32) | public AdornedSymbol(RelationSymbol baseSymbol, boolean[] adornment) { method getAdornment (line 40) | public boolean[] getAdornment() { method toString (line 44) | @Override method isIdbSymbol (line 53) | @Override method isBottomUp (line 58) | @Override method isTopDown (line 63) | @Override method getCompileTimeType (line 68) | @Override method getArity (line 73) | @Override method getBaseSymbol (line 78) | @Override method isDisk (line 83) | @Override method hashCode (line 88) | @Override method equals (line 97) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/magic/Adornments.java class Adornments (line 38) | public final class Adornments { method Adornments (line 40) | private Adornments() { method adorn (line 44) | public static UserPredicate adorn(UserPredicate a, Set boundVars,... method adornRule (line 59) | public static BasicRule adornRule( FILE: src/main/java/edu/harvard/seas/pl/formulog/magic/MagicSetTransformer.java class MagicSetTransformer (line 73) | public class MagicSetTransformer { method MagicSetTransformer (line 80) | public MagicSetTransformer(Program prog) { method transform (line 84) | public BasicProgram transform(boolean useDemandTransformation, boolean... method transformForQuery (line 107) | private BasicProgram transformForQuery( method makeSeedRule (line 139) | private BasicRule makeSeedRule(UserPredicate adornedQuery) { method makeQueryRule (line 143) | private BasicRule makeQueryRule(UserPredicate query) { method makeEdbProgram (line 206) | private BasicProgram makeEdbProgram(UserPredicate query) { method transformNoQuery (line 279) | private BasicProgram transformNoQuery( method applyDemandTransformation (line 301) | private BasicProgram applyDemandTransformation(BasicProgram prog, bool... method stripAdornments (line 310) | private BasicProgram stripAdornments(BasicProgram prog) throws Invalid... method stripAdornment (line 329) | private static C stripAdornment(C atom) { method adorn (line 358) | private Set> adorn(Set seeds) method makeMagicRules (line 424) | private Set makeMagicRules(Set> ad... method exploreTopDown (line 432) | private boolean exploreTopDown(RelationSymbol sym) { method makeMagicRules (line 442) | private Set makeMagicRules(BasicRule r, int number) { method liveVarsByAtom (line 510) | private List> liveVarsByAtom(BasicRule r) { method createSupAtom (line 523) | private UserPredicate createSupAtom( method createInputAtom (line 539) | private UserPredicate createInputAtom(UserPredicate a) { class SupSymbol (line 554) | public static class SupSymbol implements RelationSymbol { method SupSymbol (line 560) | public SupSymbol(int ruleNum, int supCount, int arity) { method getArity (line 566) | @Override method hashCode (line 571) | @Override method equals (line 581) | @Override method toString (line 593) | @Override method getCompileTimeType (line 598) | @Override method isIdbSymbol (line 603) | @Override method isDisk (line 608) | @Override method isBottomUp (line 613) | @Override method isTopDown (line 618) | @Override class InputSymbol (line 624) | public static class InputSymbol extends AbstractWrappedRelationSymbol<... method InputSymbol (line 628) | public InputSymbol(AdornedSymbol baseSymbol) { method getArity (line 637) | @Override method toString (line 642) | @Override method getCompileTimeType (line 647) | @Override method isBottomUp (line 652) | @Override method isTopDown (line 657) | @Override method isStratified (line 663) | private boolean isStratified(BasicProgram p) { method adjustAdornedRules (line 677) | private Set adjustAdornedRules(Collection adRule... method stratify (line 693) | private ProgramImpl stratify(BasicProgram p, Set adornedRules) method makePositive (line 707) | private C makePositive(C atom) { method makePositive (line 734) | private List makePositive(Iterable ato... class PositiveSymbol (line 745) | private static class PositiveSymbol extends AbstractWrappedRelationSym... method PositiveSymbol (line 747) | public PositiveSymbol(RelationSymbol baseSymbol) { method toString (line 751) | @Override method getCompileTimeType (line 756) | @Override method isBottomUp (line 761) | @Override method isTopDown (line 766) | @Override class HiddenPredicateFinder (line 772) | private static class HiddenPredicateFinder { method HiddenPredicateFinder (line 778) | public HiddenPredicateFinder(Program origP... method findHiddenPredicates (line 782) | private void findHiddenPredicates(Term t, Set s) { method allSeenPredicates (line 786) | public Set allSeenPredicates() { method visit (line 790) | public Set visit(UserFunctionDef def) { method visit (line 798) | private void visit(ComplexLiteral l, Set s) { method visit (line 820) | public Set visit( method visit (line 833) | @Override method visit (line 838) | @Override method visit (line 846) | @Override method visit (line 851) | @Override method visit (line 861) | @Override method visit (line 870) | @Override method visit (line 890) | @Override method visit (line 895) | @Override class ProgramImpl (line 903) | private class ProgramImpl implements BasicProgram { method ProgramImpl (line 909) | public ProgramImpl(Set rs, UserPredicate query) throws In... method getFunctionSymbols (line 960) | @Override method getFactSymbols (line 965) | @Override method getRuleSymbols (line 970) | @Override method getDef (line 975) | @Override method getFacts (line 980) | @Override method getRules (line 986) | @Override method getSymbolManager (line 992) | @Override method hasQuery (line 997) | @Override method getQuery (line 1002) | @Override method getFunctionCallFactory (line 1007) | @Override method getUninterpretedFunctionSymbols (line 1012) | @Override method getTypeSymbols (line 1017) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/FactFileParser.java class FactFileParser (line 27) | class FactFileParser { method FactFileParser (line 31) | public FactFileParser(ParsingContext parsingContext) { method loadFacts (line 35) | public void loadFacts(TsvFileContext ctx, int expectedArity, Set inputDirs) throws Parse... method parseFacts (line 86) | public Set parseFacts(RelationSymbol sym, Reader factStream) t... method loadExternalEdbs (line 94) | private void loadExternalEdbs( method readEdbFromFile (line 135) | private void readEdbFromFile(RelationSymbol sym, Path inputDir, Set> recordLab... method constructorLabels (line 60) | public Map constructorLabels() { method typeManager (line 64) | public TypeManager typeManager() { method nestedFunctionCounters (line 68) | public Map nestedFunctionCounters() { FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/ParsingUtil.java class ParsingUtil (line 45) | final class ParsingUtil { method ParsingUtil (line 47) | private ParsingUtil() { method extractParams (line 51) | public static List extractParams(ParsingContext pc, ParameterLi... method extractParam (line 59) | public static Param extractParam(ParsingContext pc, ParameterContext c... method extractFunDeclaration (line 81) | public static Pair> extractFunDeclaration( method extractFunDeclarations (line 106) | public static List>> extractFunDeclarat... method varsToIds (line 111) | public static Map varsToIds(Iterable vars) { FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/TermExtractor.java class TermExtractor (line 104) | class TermExtractor { method TermExtractor (line 109) | public TermExtractor(ParsingContext parsingContext) { method extract (line 114) | public synchronized Term extract(TermContext ctx) { method extractList (line 125) | public synchronized List extractList(List ctxs) { method extractArray (line 133) | public synchronized Term[] extractArray(List ctxs) { method pushIds (line 143) | public synchronized void pushIds(Map ids) { method popIds (line 147) | public synchronized Map popIds() { method assertNotInFormula (line 157) | private void assertNotInFormula(int lineNo, String msg) { method toggleInFormula (line 163) | private void toggleInFormula() { method visitHoleTerm (line 167) | @Override method visitVarTerm (line 172) | @Override method visitStringTerm (line 184) | @Override method visitConsTerm (line 190) | @Override method isSpecialFormulaCtor (line 196) | private boolean isSpecialFormulaCtor(String name) { method isSpecialFormulaCtor (line 208) | private boolean isSpecialFormulaCtor(ConstructorSymbol sym) { method visitIndexedFunctor (line 232) | @Override method adjustFunctorArgs (line 283) | private void adjustFunctorArgs(Symbol sym, Term[] args) { method parseBool (line 295) | private Term parseBool(IndexedFunctorContext ctx) { method makeFunctor (line 310) | private Term makeFunctor(int lineNo, Symbol sym, Term[] args) { method visitFoldTerm (line 345) | @Override method visitTupleTerm (line 372) | @Override method visitI32Term (line 380) | @Override method visitI64Term (line 392) | @Override method visitFloatTerm (line 407) | @Override method visitDoubleTerm (line 412) | @Override method visitSpecialFPTerm (line 417) | @Override method visitRecordTerm (line 436) | @Override method visitRecordUpdateTerm (line 453) | @Override method handleRecordEntries (line 473) | private Pair> handleRecordEntries( method visitUnopTerm (line 502) | @Override method makeBoolMatch (line 541) | private Term makeBoolMatch(Term matchee, Term ifTrue, Term ifFalse) { method tokenToBinopSym (line 547) | private FunctionSymbol tokenToBinopSym(int tokenType) { method makeNonFunctionBinop (line 580) | private Term makeNonFunctionBinop(int tokenType, Term lhs, Term rhs) { method visitBinopTerm (line 591) | @Override method visitListTerm (line 609) | @Override method visitParensTerm (line 620) | @Override method makeExitFormula (line 625) | private Term makeExitFormula(Term t) { method makeEnterFormula (line 629) | private Term makeEnterFormula(Term t) { method visitFormulaTerm (line 633) | @Override method visitNotFormula (line 644) | @Override method visitBinopFormula (line 650) | @Override method visitLetFormula (line 677) | @Override method visitQuantifiedFormula (line 691) | @Override method parsePatternList (line 717) | private Term parsePatternList(NonEmptyTermListContext ctx) { method parseFormulaVarList (line 729) | private Term parseFormulaVarList(NonEmptyTermListContext ctx) { method parseNonEmptyTermList (line 741) | private Term parseNonEmptyTermList( method visitIteTerm (line 753) | @Override method visitTermSymFormula (line 763) | @Override method extractSolverSymbol (line 770) | private Term extractSolverSymbol(Term id, Type type) { method visitOutermostCtor (line 777) | public Term visitOutermostCtor(OutermostCtorContext ctx) { method visitMatchExpr (line 797) | @Override method visitLetExpr (line 816) | @Override method visitLetFunExpr (line 842) | @Override method visitIfExpr (line 883) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/TopLevelParser.java class TopLevelParser (line 88) | class TopLevelParser { method TopLevelParser (line 92) | public TopLevelParser(ParsingContext parsingContext) { method parse (line 96) | public Pair> parse(ProgContext ctx) ... class TopLevelVisitor (line 103) | private final class TopLevelVisitor extends FormulogBaseVisitor { method visitFunDecl (line 114) | @Override method visitRelDecl (line 143) | @Override method visitTypeAlias (line 186) | @Override method visitTypeDecl (line 201) | @Override method handleAdtDef (line 220) | private void handleAdtDef(AdtDefContext ctx, AlgebraicDataType type,... method handleRecordDef (line 255) | private void handleRecordDef( method parseTypeDefLHS (line 291) | private Pair> parseTypeDefLHS( method visitUninterpSortDecl (line 304) | @Override method visitUninterpFunDecl (line 310) | @Override method hasSmtType (line 342) | private boolean hasSmtType(Type type) { method visitClauseStmt (line 347) | @Override method makeRules (line 363) | private Set makeRules(int lineNo, ComplexLiteral head) { method makeRules (line 367) | private Set makeRules( method visitFactStmt (line 385) | @Override method visitQueryStmt (line 408) | @Override method termsToLiterals (line 430) | List termsToLiterals(Iterable ctxs) { method termToLiteral (line 438) | private ComplexLiteral termToLiteral(TermContext ctx) { method program (line 470) | public BasicProgram program() throws ParseException { FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/TypeExtractor.java class TypeExtractor (line 44) | class TypeExtractor { method TypeExtractor (line 48) | public TypeExtractor(ParsingContext parsingContext) { method extract (line 52) | public Type extract(TypeContext ctx) { method extract (line 62) | public List extract(List ctxs) { method visitTupleType (line 73) | @Override method visitTypeVar (line 83) | @Override method visitTypeRef (line 88) | @Override method visitParenType (line 161) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/UncheckedParseException.java class UncheckedParseException (line 22) | public class UncheckedParseException extends RuntimeException { method UncheckedParseException (line 28) | public UncheckedParseException(int lineNo, String message) { method UncheckedParseException (line 34) | public UncheckedParseException(int lineNo, Throwable cause) { method UncheckedParseException (line 40) | public UncheckedParseException(ParseException e) { method getLineNo (line 46) | public int getLineNo() { method getFileName (line 50) | public String getFileName() { FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/VariableCheckPass.java class VariableCheckPass (line 57) | public class VariableCheckPass { method VariableCheckPass (line 61) | public VariableCheckPass(SymbolManager sm) { method checkFunction (line 65) | public Term checkFunction(Iterable arguments, Term body) throws V... method checkRule (line 72) | public Set checkRule(List heads, List seed) { method PassContext (line 127) | public PassContext() {} method checkRule (line 129) | public Set checkRule(List heads, List updatePlaceholder( method checkCounts (line 279) | public void checkCounts() throws VariableCheckPassException { method looksLikeHole (line 296) | private static boolean looksLikeHole(Var x) { method looksAnonymous (line 300) | private static boolean looksAnonymous(Var x) { method looksLikeTrueAnonymousVar (line 304) | private static boolean looksLikeTrueAnonymousVar(Var x) { method looksLikeQuasiAnonymousVar (line 308) | private static boolean looksLikeQuasiAnonymousVar(Var x) { FILE: src/main/java/edu/harvard/seas/pl/formulog/parsing/VariableCheckPassException.java class VariableCheckPassException (line 22) | public class VariableCheckPassException extends Exception { method VariableCheckPassException (line 26) | public VariableCheckPassException(String message) { FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/AbstractSmtLibSolver.java class AbstractSmtLibSolver (line 46) | public abstract class AbstractSmtLibSolver implements SmtLibSolver { method AbstractSmtLibSolver (line 82) | public AbstractSmtLibSolver() { method isIncremental (line 97) | protected abstract boolean isIncremental(); method start (line 99) | @Override method destroy (line 114) | @Override method destroyAll (line 129) | public static synchronized void destroyAll() { method finalize (line 135) | @Override method start (line 141) | protected abstract void start() throws EvaluationException; method makeAssertions (line 143) | protected abstract Pair, Collection conjuncts, CheckSatAssumin... method start (line 92) | @Override method destroy (line 101) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/BoolectorProcessFactory.java class BoolectorProcessFactory (line 27) | public class BoolectorProcessFactory implements ExternalSolverProcessFac... method BoolectorProcessFactory (line 31) | private BoolectorProcessFactory() { method get (line 35) | public static BoolectorProcessFactory get() { method newProcess (line 46) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/CallAndResetSolver.java class CallAndResetSolver (line 30) | public class CallAndResetSolver extends AbstractSmtLibSolver { method makeAssertions (line 32) | @Override method cleanup (line 45) | @Override method start (line 51) | @Override method isIncremental (line 57) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/CheckSatAssumingSolver.java class CheckSatAssumingSolver (line 46) | public class CheckSatAssumingSolver extends AbstractSmtLibSolver { method clearCache (line 51) | private void clearCache() throws EvaluationException { method getCache (line 69) | public Set getCache() { method makeAssertions (line 73) | @Override method makeImp (line 112) | private SmtLibTerm makeImp(SolverVariable x, SmtLibTerm assertion) { method makeIndicatorVar (line 117) | private SolverVariable makeIndicatorVar(SmtLibTerm assertion) { method cleanup (line 126) | @Override method start (line 133) | @Override method isIncremental (line 142) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/Cvc4ProcessFactory.java class Cvc4ProcessFactory (line 27) | public class Cvc4ProcessFactory implements ExternalSolverProcessFactory { method Cvc4ProcessFactory (line 31) | private Cvc4ProcessFactory() { method get (line 35) | public static Cvc4ProcessFactory get() { method newProcess (line 46) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/DoubleCheckingSolver.java class DoubleCheckingSolver (line 28) | public class DoubleCheckingSolver implements SmtLibSolver { method DoubleCheckingSolver (line 33) | public DoubleCheckingSolver(SmtLibSolver inner) { method start (line 37) | @Override method check (line 43) | @Override method destroy (line 57) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/ExternalSolverProcessFactory.java type ExternalSolverProcessFactory (line 24) | public interface ExternalSolverProcessFactory { method newProcess (line 26) | Process newProcess(boolean incremental) throws IOException; FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/NotThreadSafeQueueSmtManager.java class NotThreadSafeQueueSmtManager (line 28) | public class NotThreadSafeQueueSmtManager implements SmtLibSolver { method NotThreadSafeQueueSmtManager (line 34) | public NotThreadSafeQueueSmtManager(int size, Supplier m... method check (line 42) | @Override method start (line 51) | @Override method destroy (line 60) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/PerThreadSmtManager.java class PerThreadSmtManager (line 29) | public class PerThreadSmtManager implements SmtLibSolver { method PerThreadSmtManager (line 34) | public PerThreadSmtManager(Supplier managerMaker) { method check (line 51) | @Override method start (line 61) | @Override method destroy (line 66) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/PushPopNaiveSolver.java class PushPopNaiveSolver (line 30) | public class PushPopNaiveSolver extends AbstractSmtLibSolver { method isIncremental (line 32) | @Override method start (line 37) | @Override method makeAssertions (line 43) | @Override method cleanup (line 57) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/PushPopSolver.java class PushPopSolver (line 33) | public class PushPopSolver extends AbstractSmtLibSolver { method makeAssertions (line 37) | @Override method findDiffPos (line 62) | private int findDiffPos(Collection assertions) { method shrinkCache (line 78) | private void shrinkCache(int tgtSize) throws EvaluationException { method growCache (line 87) | private void growCache(Iterator assertions) throws Evaluat... method cleanup (line 96) | @Override method start (line 101) | @Override method isIncremental (line 107) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/QueueSmtManager.java class QueueSmtManager (line 29) | public class QueueSmtManager implements SmtLibSolver { method QueueSmtManager (line 34) | public QueueSmtManager(int size, Supplier maker) { method check (line 42) | @Override method start (line 56) | @Override method destroy (line 65) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/SingleShotSolver.java class SingleShotSolver (line 31) | public class SingleShotSolver extends AbstractSmtLibSolver { method makeAssertions (line 35) | @Override method start (line 50) | @Override method cleanup (line 55) | @Override method start (line 61) | public synchronized void start(Program prog) throws EvaluationEx... method isIncremental (line 66) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/SmtLibParser.java class SmtLibParser (line 52) | public class SmtLibParser { method SmtLibParser (line 57) | public SmtLibParser(SymbolManager symbolManager, Map getModel(Reader r) throws IOException... method consumeComment (line 80) | private void consumeComment(Tokenizer t) throws IOException, SmtLibPar... method parseFunctionDef (line 89) | private void parseFunctionDef(Map m, Tokenizer t) type TermType (line 123) | private static enum TermType { method stripSymType (line 132) | public static AlgebraicDataType stripSymType(AlgebraicDataType symType) { method shouldRecord (line 137) | public static boolean shouldRecord(AlgebraicDataType type) throws SmtL... method die (line 148) | private static void die(String msg) throws SmtLibParseException { method shouldRecord1 (line 152) | private static boolean shouldRecord1(AlgebraicDataType type, Set prog, boolean declareAdts) { method checkSuccess (line 119) | private void checkSuccess() throws EvaluationException { method makeAssertion (line 137) | public void makeAssertion(SmtLibTerm assertion) throws EvaluationExcep... method reset (line 166) | public void reset() throws EvaluationException { method resetAssertions (line 175) | public void resetAssertions() throws EvaluationException { method push (line 180) | public void push() throws EvaluationException { method pop (line 188) | public void pop() throws EvaluationException { method pop (line 192) | public void pop(int n) throws EvaluationException { method checkSat (line 203) | public SmtStatus checkSat(int timeout) throws EvaluationException { method setTimeout (line 207) | private void setTimeout(int timeout) throws EvaluationException { method checkSatAssuming (line 218) | public SmtStatus checkSatAssuming( method getModel (line 271) | public Map getModel() throws EvaluationException { method parseModel (line 283) | public Map parseModel() method flush (line 289) | public void flush() { method setLogic (line 296) | public void setLogic(String logic) throws EvaluationException { method print (line 301) | public void print(String s) { method println (line 308) | private void println(String s) { method printComment (line 313) | public void printComment(String comment) { method print (line 317) | public void print(SolverVariable x) { method print (line 325) | public void print(Symbol sym) { method print (line 329) | public void print(Type type) { method getTypeAnnotation (line 333) | public String getTypeAnnotation(ConstructorSymbol sym) { method toSmtSymbol (line 342) | private String toSmtSymbol(SolverVariable x) { method declareSymbols (line 346) | private void declareSymbols(SmtLibTerm t) throws EvaluationException { method makeDeclarations (line 391) | public void makeDeclarations() { class DeclarationGatherer (line 410) | private class DeclarationGatherer { method DeclarationGatherer (line 415) | public DeclarationGatherer(boolean declareAdts) { method go (line 419) | public void go(Program prog) { method pushDeclaration (line 430) | private void pushDeclaration() { method declareUninterpretedFunctions (line 436) | private void declareUninterpretedFunctions(Set fu... method declareSorts (line 451) | private void declareSorts(Set sorts) { method declareScc (line 463) | private void declareScc(Set sorts) { method declareUninterpretedSort (line 475) | private void declareUninterpretedSort(TypeSymbol sort) { method declareAdtSorts (line 481) | private void declareAdtSorts(Set sorts) { method declareAdtSort (line 496) | private void declareAdtSort(AlgebraicDataType type) { method declareConstructor (line 511) | private void declareConstructor(ConstructorScheme c) { method stringifySymbol (line 523) | private String stringifySymbol(Symbol sym) { method stringifyType (line 527) | private String stringifyType(Type type) { class SortDependencyFinder (line 599) | private class SortDependencyFinder { method SortDependencyFinder (line 603) | public SortDependencyFinder(Set types) { method push (line 609) | private void push(TypeSymbol sym) { method compute (line 615) | private Graph compute() { method extractTypeSymbols (line 640) | private Set extractTypeSymbols(Type type) { method isDeclarableTypeSymbol (line 673) | private boolean isDeclarableTypeSymbol(TypeSymbol sym) { class MiniTypeInferer (line 704) | private class MiniTypeInferer { method inferTypes (line 709) | public List> inferTypes(Term t) { method inferTypes1 (line 721) | private List> inferTypes1(Term t) { method unifyConstraints (line 762) | private void unifyConstraints() { method handleVar (line 806) | private void handleVar(TypeVar x, Type t) { method needsTypeAnnotation (line 820) | public static boolean needsTypeAnnotation(ConstructorSymbol sym) { FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/SmtLibSolver.java type SmtLibSolver (line 27) | public interface SmtLibSolver { method start (line 29) | void start(Program prog) throws EvaluationException; method check (line 31) | SmtResult check(Collection t, boolean getModel, int timeout) method destroy (line 34) | void destroy(); FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/SmtResult.java class SmtResult (line 24) | public class SmtResult { method SmtResult (line 31) | public SmtResult(SmtStatus status, Model model, int solverId, int task... method hashCode (line 38) | @Override method equals (line 49) | @Override method toString (line 64) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/SmtStatus.java type SmtStatus (line 22) | public enum SmtStatus { FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/SmtStrategy.java class SmtStrategy (line 22) | public class SmtStrategy { type Tag (line 24) | public enum Tag { method SmtStrategy (line 50) | public SmtStrategy(Tag tag, Object metadata) { method getTag (line 55) | public Tag getTag() { method getMetadata (line 59) | public Object getMetadata() { method hashCode (line 63) | @Override method equals (line 72) | @Override method toString (line 85) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/YicesProcessFactory.java class YicesProcessFactory (line 27) | public class YicesProcessFactory implements ExternalSolverProcessFactory { method YicesProcessFactory (line 31) | private YicesProcessFactory() { method get (line 35) | public static YicesProcessFactory get() { method newProcess (line 46) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/smt/Z3ProcessFactory.java class Z3ProcessFactory (line 25) | public class Z3ProcessFactory implements ExternalSolverProcessFactory { method Z3ProcessFactory (line 29) | private Z3ProcessFactory() { method get (line 33) | public static Z3ProcessFactory get() { method newProcess (line 44) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/AbstractSymbol.java class AbstractSymbol (line 22) | abstract class AbstractSymbol implements Symbol { method AbstractSymbol (line 27) | public AbstractSymbol(String name, int arity) { method getArity (line 32) | @Override method toString (line 37) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/AbstractTypedSymbol.java class AbstractTypedSymbol (line 24) | abstract class AbstractTypedSymbol extends AbstractSymbol implements Typ... method AbstractTypedSymbol (line 28) | public AbstractTypedSymbol(String name, int arity, FunctorType type) { method getCompileTimeType (line 33) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/AbstractWrappedRelationSymbol.java class AbstractWrappedRelationSymbol (line 24) | public abstract class AbstractWrappedRelationSymbol params) { method getParameterizedSymbol (line 80) | public static ParameterizedConstructorSymbol getParameterizedSymbol( method getParameterizedSymbol (line 85) | public static ParameterizedConstructorSymbol getParameterizedSymbol( method getParameterizedSymbolInternal (line 91) | private static ParameterizedConstructorSymbol getParameterizedSymbolIn... method checkInitialized (line 97) | private static void checkInitialized() { method initialize (line 103) | private static synchronized void initialize() { method register (line 116) | private static void register(Symbol[] symbols) { method register (line 122) | private static void register(Symbol sym) { method register (line 130) | private static void register(BuiltInConstructorSymbolBase[] bases) { method createTypeSymbol (line 138) | private static TypeSymbol createTypeSymbol(String name, int arity, Typ... method createConstructorSymbol (line 145) | private static ConstructorSymbol createConstructorSymbol( method getTypeSymbols (line 153) | public static Set getTypeSymbols() { method lookupTupleSymbol (line 161) | public static TupleSymbol lookupTupleSymbol(int arity) { method lookupTupleTypeSymbol (line 166) | public static TypeSymbol lookupTupleTypeSymbol(int arity) { method instantiateTuple (line 171) | private static void instantiateTuple(int arity) { class TupleSymbol (line 203) | public static class TupleSymbol implements ConstructorSymbol { method TupleSymbol (line 208) | private TupleSymbol(int arity, FunctorType type) { method getCompileTimeType (line 213) | @Override method getArity (line 218) | @Override method toString (line 223) | @Override method getConstructorSymbolType (line 228) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/MutableRelationSymbol.java type MutableRelationSymbol (line 22) | public interface MutableRelationSymbol extends RelationSymbol { method setTopDown (line 24) | void setTopDown(); method setBottomUp (line 26) | void setBottomUp(); method setDisk (line 28) | void setDisk(); method setEdb (line 30) | void setEdb(); FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/PredicateFunctionSymbol.java class PredicateFunctionSymbol (line 34) | public class PredicateFunctionSymbol implements FunctionSymbol { method create (line 41) | public static synchronized PredicateFunctionSymbol create( method createPlaceholder (line 55) | public static synchronized PredicateFunctionSymbol createPlaceholder( method createNew (line 66) | private static PredicateFunctionSymbol createNew( method PredicateFunctionSymbol (line 100) | private PredicateFunctionSymbol( method getArity (line 107) | @Override method getCompileTimeType (line 112) | @Override method getPredicateSymbol (line 117) | public RelationSymbol getPredicateSymbol() { method getBindings (line 121) | public BindingType[] getBindings() { method toString (line 125) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/RecordSymbol.java type RecordSymbol (line 24) | public interface RecordSymbol extends ConstructorSymbol { method getLabels (line 26) | List getLabels(); FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/RelationSymbol.java type RelationSymbol (line 22) | public interface RelationSymbol extends TypedSymbol { method isIdbSymbol (line 24) | boolean isIdbSymbol(); method isEdbSymbol (line 26) | default boolean isEdbSymbol() { method isDisk (line 30) | boolean isDisk(); method isBottomUp (line 32) | boolean isBottomUp(); method isTopDown (line 34) | boolean isTopDown(); FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/Symbol.java type Symbol (line 22) | public interface Symbol { method getArity (line 24) | int getArity(); FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/SymbolComparator.java type SymbolComparator (line 24) | public enum SymbolComparator implements Comparator { method compare (line 27) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/SymbolManager.java class SymbolManager (line 39) | public class SymbolManager { method createTypeSymbol (line 44) | public TypeSymbol createTypeSymbol(String name, int arity, TypeSymbolT... method createConstructorSymbol (line 51) | public ConstructorSymbol createConstructorSymbol( method createRecordSymbol (line 59) | public RecordSymbol createRecordSymbol( method createFunctionSymbol (line 67) | public FunctionSymbol createFunctionSymbol(String name, int arity, Fun... method createRelationSymbol (line 74) | public MutableRelationSymbol createRelationSymbol(String name, int ari... method checkNotUsed (line 81) | public void checkNotUsed(String name) { method hasName (line 88) | public boolean hasName(String name) { method hasConstructorSymbolWithName (line 92) | public boolean hasConstructorSymbolWithName(String name) { method lookupSymbol (line 99) | public Symbol lookupSymbol(String name) { method getParameterizedSymbol (line 103) | public ParameterizedSymbol getParameterizedSymbol(SymbolBase base) { method lookupSymbol (line 110) | public Symbol lookupSymbol(String name, List params) { method createPredicateFunctionSymbol (line 128) | public PredicateFunctionSymbol createPredicateFunctionSymbol( method createPredicateFunctionSymbolPlaceholder (line 133) | public PredicateFunctionSymbol createPredicateFunctionSymbolPlaceholde... method lookupIndexConstructorSymbol (line 137) | public ConstructorSymbol lookupIndexConstructorSymbol(int index) { class FunctionSymbolImpl (line 152) | private static class FunctionSymbolImpl extends AbstractTypedSymbol im... method FunctionSymbolImpl (line 154) | public FunctionSymbolImpl(String name, int arity, FunctorType type) { class RecordSymbolImpl (line 159) | private static class RecordSymbolImpl extends AbstractTypedSymbol impl... method RecordSymbolImpl (line 163) | public RecordSymbolImpl(String name, int arity, FunctorType type, Li... method getConstructorSymbolType (line 168) | @Override method getLabels (line 173) | @Override class RelationSymbolImpl (line 179) | private static class RelationSymbolImpl extends AbstractTypedSymbol type Mode (line 182) | private enum Mode { method RelationSymbolImpl (line 193) | public RelationSymbolImpl(String name, int arity, FunctorType type) { method isIdbSymbol (line 197) | @Override method isEdbSymbol (line 202) | @Override method isDisk (line 207) | @Override method isBottomUp (line 212) | @Override method isTopDown (line 217) | @Override method setTopDown (line 222) | @Override method setBottomUp (line 230) | @Override method setDisk (line 238) | @Override method setEdb (line 243) | @Override method registerSymbol (line 253) | public void registerSymbol(Symbol sym) { method getTypeSymbols (line 266) | public Set getTypeSymbols() { FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/TypeSymbol.java type TypeSymbol (line 22) | public interface TypeSymbol extends Symbol { method getTypeSymbolType (line 24) | TypeSymbolType getTypeSymbolType(); method isNormalType (line 26) | default boolean isNormalType() { method isAlias (line 30) | default boolean isAlias() { method isUninterpretedSort (line 34) | default boolean isUninterpretedSort() { FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/TypeSymbolImpl.java class TypeSymbolImpl (line 22) | class TypeSymbolImpl extends AbstractSymbol implements TypeSymbol { method TypeSymbolImpl (line 26) | public TypeSymbolImpl(String name, int arity, TypeSymbolType symType) { method getTypeSymbolType (line 31) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/TypeSymbolType.java type TypeSymbolType (line 22) | public enum TypeSymbolType { FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/TypedSymbol.java type TypedSymbol (line 24) | public interface TypedSymbol extends Symbol { method getCompileTimeType (line 26) | FunctorType getCompileTimeType(); FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/WrappedRelationSymbol.java type WrappedRelationSymbol (line 22) | public interface WrappedRelationSymbol extends... method getBaseSymbol (line 24) | R getBaseSymbol(); FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/parameterized/AbstractParameterizedSymbol.java class AbstractParameterizedSymbol (line 26) | public abstract class AbstractParameterizedSymbol method AbstractParameterizedSymbol (line 32) | public AbstractParameterizedSymbol(B base, List args) { method getArity (line 51) | @Override method toString (line 56) | @Override method getBase (line 69) | @Override method getArgs (line 74) | @Override method isGround (line 79) | @Override method hashCode (line 89) | @Override method equals (line 98) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/parameterized/BuiltInConstructorSymbolBase.java type BuiltInConstructorSymbolBase (line 26) | public enum BuiltInConstructorSymbolBase implements FunctorBase { method BuiltInConstructorSymbolBase (line 113) | private BuiltInConstructorSymbolBase(String name, int arity, ParamKind... method getArity (line 119) | @Override method toString (line 124) | @Override method getParamKinds (line 129) | @Override method getConstructorSymbolType (line 134) | public ConstructorSymbolType getConstructorSymbolType() { FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/parameterized/FunctorBase.java type FunctorBase (line 22) | public interface FunctorBase extends SymbolBase {} FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/parameterized/Param.java class Param (line 31) | public class Param { method Param (line 36) | public Param(Type type, ParamKind kind) { method check (line 45) | private boolean check() { method getType (line 79) | public Type getType() { method getKind (line 83) | public ParamKind getKind() { method isGround (line 87) | boolean isGround() { method wildCards (line 91) | public static List wildCards(int howMany) { method applySubst (line 99) | public static List applySubst(Iterable params, Map expandAsFpAlias(Param param) { method copyWithNewArgs (line 150) | @Override method copyWithNewArgs (line 155) | @Override method getConstructorSymbolType (line 160) | public ConstructorSymbolType getConstructorSymbolType() { method makeType (line 164) | private FunctorType makeType() { method getCompileTimeType (line 307) | @Override method mkType (line 312) | private static FunctorType mkType(Type... types) { method makeFinal (line 316) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/parameterized/ParameterizedSymbol.java type ParameterizedSymbol (line 25) | public interface ParameterizedSymbol extends Symbol { method getBase (line 27) | SymbolBase getBase(); method getArgs (line 29) | List getArgs(); method copyWithNewArgs (line 31) | ParameterizedSymbol copyWithNewArgs(List args); method copyWithNewArgs (line 33) | ParameterizedSymbol copyWithNewArgs(Param... args); method makeFinal (line 35) | ParameterizedSymbol makeFinal(); method isGround (line 37) | boolean isGround(); FILE: src/main/java/edu/harvard/seas/pl/formulog/symbols/parameterized/SymbolBase.java type SymbolBase (line 24) | public interface SymbolBase { method getArity (line 26) | int getArity(); method getParamKinds (line 28) | List getParamKinds(); method getNumParams (line 30) | default int getNumParams() { FILE: src/main/java/edu/harvard/seas/pl/formulog/types/BuiltInTypes.java class BuiltInTypes (line 57) | public final class BuiltInTypes { method BuiltInTypes (line 59) | private BuiltInTypes() { method setCmpConstructors (line 88) | private static void setCmpConstructors() { method setListConstructors (line 98) | private static void setListConstructors() { method setOptionConstructors (line 108) | private static void setOptionConstructors() { method list (line 117) | public static AlgebraicDataType list(Type a) { method option (line 121) | public static AlgebraicDataType option(Type a) { method smt (line 125) | public static AlgebraicDataType smt(Type a) { method sym (line 129) | public static AlgebraicDataType sym(Type a) { method bv (line 133) | public static AlgebraicDataType bv(Type a) { method bv (line 137) | public static AlgebraicDataType bv(int width) { method fp (line 141) | public static AlgebraicDataType fp(Type a, Type b) { method fp (line 145) | public static AlgebraicDataType fp(int exponent, int significand) { method array (line 149) | public static AlgebraicDataType array(Type a, Type b) { method opaqueSet (line 153) | public static AlgebraicDataType opaqueSet(Type a) { method pair (line 157) | public static AlgebraicDataType pair(Type a, Type b) { FILE: src/main/java/edu/harvard/seas/pl/formulog/types/FunctorType.java class FunctorType (line 36) | public class FunctorType implements Type { method FunctorType (line 41) | public FunctorType(List argTypes, Type retType) { method FunctorType (line 46) | public FunctorType(Type... types) { method getArgTypes (line 52) | public List getArgTypes() { method getRetType (line 56) | public Type getRetType() { method freshen (line 60) | public FunctorType freshen() { method hashCode (line 102) | @Override method equals (line 111) | @Override method accept (line 126) | @Override method applySubst (line 131) | @Override method toString (line 138) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/types/IndexedType.java type IndexedType (line 25) | public interface IndexedType { method instantiate (line 27) | Type instantiate(List indices); FILE: src/main/java/edu/harvard/seas/pl/formulog/types/TypeAlias.java class TypeAlias (line 30) | public class TypeAlias { method TypeAlias (line 36) | public TypeAlias(TypeSymbol sym, List params, Type type) { method get (line 53) | public static TypeAlias get(TypeSymbol sym, List params, Type... method getSymbol (line 57) | public TypeSymbol getSymbol() { method getNumberOfParams (line 61) | public int getNumberOfParams() { method getParam (line 65) | public Type getParam(int idx) { method toString (line 72) | @Override method hashCode (line 90) | @Override method equals (line 100) | @Override method getParams (line 118) | public List getParams() { method instantiate (line 122) | public Type instantiate(List paramTypes) { method getType (line 133) | public Type getType() { FILE: src/main/java/edu/harvard/seas/pl/formulog/types/TypeChecker.java class TypeChecker (line 47) | public class TypeChecker { method TypeChecker (line 52) | public TypeChecker(Program prog2) { method typeCheck (line 56) | public synchronized WellTypedProgram typeCheck() throws TypeException { method typeCheckQuery (line 148) | private UserPredicate typeCheckQuery() throws TypeException { method mapFromFutures (line 156) | private static Map mapFromFutures(Map> futur... method typeCheckFacts (line 164) | private Map> typeCheckFacts(ExecutorServic... method typeCheckRules (line 187) | private Map> typeCheckRules(ExecutorSer... method typeCheckFunctions (line 210) | private Map typeCheckFunctions(ExecutorSe... class TypeCheckerContext (line 240) | private class TypeCheckerContext { method rewriteTerm (line 247) | private Term rewriteTerm(Term t, Substitution m) throws TypeException { method typeCheckFact (line 251) | public Term[] typeCheckFact(RelationSymbol sym, Term[] args) throws ... method rewriteLiteral (line 270) | private ComplexLiteral rewriteLiteral(ComplexLiteral l, Substitution... method typeCheckQuery (line 294) | public UserPredicate typeCheckQuery(UserPredicate q) throws TypeExce... method typeCheckRule (line 308) | public BasicRule typeCheckRule(Rule r... method makeIndexSubstitution (line 331) | private Substitution makeIndexSubstitution(Map subst) { method typeCheckFunction (line 346) | public UserFunctionDef typeCheckFunction(UserFunctionDef functionDef... method processAtoms (line 375) | private void processAtoms(Iterable atoms, Map subst) { method genConstraints (line 412) | private void genConstraints(UserFunctionDef def, Map subs... method genConstraints (line 417) | private void genConstraints( method mkTypeVarsOpaque (line 433) | private Type mkTypeVarsOpaque(Type t, Map subst) { method genConstraintsForExpr (line 463) | private void genConstraintsForExpr( method addConstraint (line 518) | private void addConstraint(Term t, Type t1, Type t2, boolean inFormu... method genConstraints (line 527) | private void genConstraints(Term t, Type ttype, Map subst... method genConstraintsForVar (line 558) | private void genConstraintsForVar(Var t, Type ttype, Map ... method genConstraintsForPrimitive (line 573) | private void genConstraintsForPrimitive(Primitive t, Type ttype, ... method genConstraintsForConstructor (line 577) | private void genConstraintsForConstructor( method genConstraintsForFunctionCall (line 601) | private void genConstraintsForFunctionCall( method checkConstraints (line 612) | private boolean checkConstraints() { method checkTypesInFormulae (line 626) | private boolean checkTypesInFormulae(Set types) { method checkTypeInFormula (line 635) | private boolean checkTypeInFormula(Type ty) { method checkConstraints (line 649) | private boolean checkConstraints(boolean inFormulaContext) { method handleVars (line 672) | private boolean handleVars(Type type1, Type type2) { method unify (line 696) | private boolean unify(Term t, Type type1, Type type2) { method lookupType (line 735) | private Type lookupType(Type t) { method visit (line 742) | @Override method visit (line 750) | @Override method visit (line 775) | @Override method visit (line 780) | @Override method handleParameterizedSymbol (line 786) | private ParameterizedSymbol handleParameterizedSymbol(ParameterizedS... method visit (line 809) | @Override method visit (line 821) | @Override method visit (line 842) | @Override method firstRewritingPass (line 874) | NestedFunctionDef firstRewritingPass(NestedFunctionDef def, Substitu... method visit (line 891) | @Override method addBinding (line 901) | public static void addBinding(TypeVar x, Type t, Map su... method lookupType (line 915) | public static Type lookupType(Type t, Map sub... method simplify (line 947) | public static Type simplify(Type t) { FILE: src/main/java/edu/harvard/seas/pl/formulog/types/TypeException.java class TypeException (line 22) | public class TypeException extends Exception { method TypeException (line 27) | public TypeException() {} method TypeException (line 34) | public TypeException(String message) { method TypeException (line 43) | public TypeException(Throwable cause) { method TypeException (line 53) | public TypeException(String message, Throwable cause) { method TypeException (line 65) | public TypeException( FILE: src/main/java/edu/harvard/seas/pl/formulog/types/TypeManager.java class TypeManager (line 30) | public class TypeManager { method registerAlias (line 34) | public void registerAlias(TypeAlias alias) { method lookup (line 42) | public Type lookup(TypeSymbol typeSym, List typeArgs) { FILE: src/main/java/edu/harvard/seas/pl/formulog/types/Types.java class Types (line 44) | public final class Types { method Types (line 46) | private Types() { type Type (line 50) | public interface Type { method accept (line 52) | O accept(TypeVisitor visitor, I in); method applySubst (line 54) | Type applySubst(Map subst); method freshen (line 56) | Type freshen(); method isVar (line 58) | default boolean isVar() { method isIndex (line 62) | default boolean isIndex() { type TypeVisitor (line 67) | public interface TypeVisitor { method visit (line 69) | O visit(TypeVar typeVar, I in); method visit (line 71) | O visit(AlgebraicDataType algebraicType, I in); method visit (line 73) | O visit(OpaqueType opaqueType, I in); method visit (line 75) | O visit(TypeIndex typeIndex, I in); class TypeVar (line 78) | public static class TypeVar implements Type, Comparable { method TypeVar (line 85) | private TypeVar(int id) { method get (line 89) | public static TypeVar get(String id) { method toString (line 94) | @Override method accept (line 99) | @Override method hashCode (line 104) | @Override method equals (line 112) | @Override method applySubst (line 121) | @Override method fresh (line 126) | public static TypeVar fresh() { method isVar (line 130) | @Override method compareTo (line 135) | @Override method freshen (line 140) | @Override method freshen (line 146) | private static List freshen(List types) { class AlgebraicDataType (line 150) | public static class AlgebraicDataType implements Type, Iterable { method AlgebraicDataType (line 159) | private AlgebraicDataType(TypeSymbol sym, List typeArgs) { method check (line 165) | private void check() { method makeWithFreshArgs (line 216) | public static AlgebraicDataType makeWithFreshArgs(TypeSymbol sym) { method make (line 224) | public static AlgebraicDataType make(TypeSymbol sym, Type... typeArg... method make (line 228) | public static AlgebraicDataType make(TypeSymbol sym, List type... method setConstructors (line 232) | public static void setConstructors( method hasConstructors (line 246) | public boolean hasConstructors() { method getConstructors (line 250) | public Set getConstructors() { method getSymbol (line 282) | public TypeSymbol getSymbol() { method iterator (line 286) | @Override method toString (line 291) | @Override method toStringBvOrFp (line 312) | private String toStringBvOrFp() { method accept (line 330) | @Override method hashCode (line 335) | @Override method equals (line 344) | @Override method getTypeArgs (line 358) | public List getTypeArgs() { method applySubst (line 362) | @Override method freshen (line 371) | @Override class ConstructorScheme (line 376) | public static class ConstructorScheme { method ConstructorScheme (line 382) | public ConstructorScheme( method getSymbol (line 390) | public ConstructorSymbol getSymbol() { method getTypeArgs (line 394) | public List getTypeArgs() { method getGetterSymbols (line 398) | public List getGetterSymbols() { method hashCode (line 402) | @Override method equals (line 412) | @Override class OpaqueType (line 429) | public static class OpaqueType implements Type { method OpaqueType (line 434) | private OpaqueType() { method get (line 438) | public static OpaqueType get() { method accept (line 442) | @Override method applySubst (line 447) | @Override method toString (line 452) | @Override method freshen (line 457) | @Override class TypeIndex (line 463) | public static class TypeIndex implements Type { method TypeIndex (line 467) | private TypeIndex(int index) { method make (line 471) | public static TypeIndex make(int index) { method accept (line 475) | @Override method applySubst (line 480) | @Override method freshen (line 485) | @Override method hashCode (line 490) | @Override method equals (line 498) | @Override method toString (line 507) | @Override method isIndex (line 512) | @Override method getIndex (line 517) | public int getIndex() { method expandAsFpIndex (line 521) | public List expandAsFpIndex() { method getTypeVars (line 539) | public static Set getTypeVars(Type t) { method getTypeVars (line 543) | public static Set getTypeVars(Collection t) { method getTypeVars (line 549) | private static void getTypeVars(Type t, Set acc) { method getTypeVars (line 578) | private static void getTypeVars(Collection types, Set a... method containsTypeVarOrOpaqueType (line 584) | public static boolean containsTypeVarOrOpaqueType(Type t) { method isSmtRepresentable (line 616) | public static boolean isSmtRepresentable(Type t) { method mayBePreSmtType (line 673) | public static boolean mayBePreSmtType(Type t) { method isTupleType (line 730) | public static boolean isTupleType(Type t) { method isSmtVarType (line 738) | public static boolean isSmtVarType(Type t) { FILE: src/main/java/edu/harvard/seas/pl/formulog/types/WellTypedProgram.java type WellTypedProgram (line 26) | public interface WellTypedProgram extends Program m) { method put (line 39) | @Override method get (line 44) | @Override method containsKey (line 50) | @Override method iterateKeys (line 55) | @Override method copy (line 60) | public OverwriteSubstitution copy() { method toString (line 64) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/unification/SimpleSubstitution.java class SimpleSubstitution (line 27) | public class SimpleSubstitution implements Substitution { method put (line 31) | @Override method get (line 36) | @Override method containsKey (line 43) | @Override method iterateKeys (line 48) | @Override method toString (line 53) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/unification/Substitution.java type Substitution (line 25) | public interface Substitution { method put (line 27) | void put(Var v, Term t); method get (line 29) | Term get(Var v); method getIfPresent (line 31) | static Term getIfPresent(Term t, Substitution s) { method containsKey (line 38) | boolean containsKey(Var v); method iterateKeys (line 40) | Iterable iterateKeys(); FILE: src/main/java/edu/harvard/seas/pl/formulog/unification/Unification.java class Unification (line 37) | public final class Unification { method Unification (line 39) | private Unification() { method canBindVars (line 43) | public static boolean canBindVars( method handleNormalAtom (line 63) | private static boolean handleNormalAtom( method handleUnifyAtom (line 87) | private static boolean handleUnifyAtom(UnificationPredicate atom, Set<... method handleUnifyAtomHelper (line 100) | private static boolean handleUnifyAtomHelper(Term t1, Term t2, Set implements Iterable { method CompositeIterable (line 31) | public CompositeIterable(Iterable> its) { method iterator (line 35) | @Override class CompositeIterator (line 40) | private final class CompositeIterator implements Iterator { method CompositeIterator (line 44) | public CompositeIterator() { method load (line 52) | private boolean load() { method hasNext (line 63) | @Override method next (line 68) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/CountingFJP.java type CountingFJP (line 24) | public interface CountingFJP { method externallyAddTask (line 26) | void externallyAddTask(AbstractFJPTask w); method recursivelyAddTask (line 28) | void recursivelyAddTask(AbstractFJPTask w); method reportTaskCompletion (line 30) | void reportTaskCompletion(); method blockUntilFinished (line 32) | void blockUntilFinished(); method blockUntilFinishedExn (line 34) | default void blockUntilFinishedExn() throws EvaluationException { method shutdown (line 41) | void shutdown(); method fail (line 43) | void fail(EvaluationException cause); method hasFailed (line 45) | boolean hasFailed(); method getFailureCause (line 47) | EvaluationException getFailureCause(); method getStealCount (line 49) | long getStealCount(); FILE: src/main/java/edu/harvard/seas/pl/formulog/util/CountingFJPImpl.java class CountingFJPImpl (line 30) | public class CountingFJPImpl implements CountingFJP { method CountingFJPImpl (line 36) | public CountingFJPImpl(int parallelism) { method externallyAddTask (line 51) | public void externallyAddTask(AbstractFJPTask w) { method recursivelyAddTask (line 60) | public void recursivelyAddTask(AbstractFJPTask w) { method reportTaskCompletion (line 70) | public void reportTaskCompletion() { method blockUntilFinished (line 78) | public final void blockUntilFinished() { method shutdown (line 90) | public final void shutdown() { method fail (line 101) | public final void fail(EvaluationException cause) { method hasFailed (line 109) | public final boolean hasFailed() { method getFailureCause (line 113) | public final EvaluationException getFailureCause() { method getStealCount (line 117) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/Dataset.java class Dataset (line 27) | public class Dataset { method addDataPoint (line 31) | public void addDataPoint(double val) { method size (line 35) | public int size() { method computeSum (line 39) | public double computeSum() { method computeMean (line 47) | public double computeMean() { method computeStdDev (line 52) | public double computeStdDev() { method computeMinMedianMax (line 62) | public List computeMinMedianMax() { method getStatsString (line 75) | public String getStatsString(double multiplier) { method getStatsString (line 90) | public String getStatsString() { class Datum (line 94) | private static class Datum implements Comparable { method Datum (line 98) | public Datum(double val) { method compareTo (line 102) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/DedupWorkList.java class DedupWorkList (line 27) | public class DedupWorkList { method push (line 32) | public boolean push(T item) { method pop (line 40) | public T pop() { method isEmpty (line 44) | public boolean isEmpty() { FILE: src/main/java/edu/harvard/seas/pl/formulog/util/EnumerableThreadLocal.java class EnumerableThreadLocal (line 26) | public class EnumerableThreadLocal { method EnumerableThreadLocal (line 31) | public EnumerableThreadLocal(Supplier f) { method get (line 41) | public T get() { method forEach (line 45) | public void forEach(Consumer f) { FILE: src/main/java/edu/harvard/seas/pl/formulog/util/ExceptionalFunction.java type ExceptionalFunction (line 22) | @FunctionalInterface method apply (line 25) | T2 apply(T1 arg) throws E; FILE: src/main/java/edu/harvard/seas/pl/formulog/util/FunctorUtil.java class FunctorUtil (line 29) | public final class FunctorUtil { method FunctorUtil (line 31) | private FunctorUtil() { method toString (line 35) | public static String toString(Symbol sym, Term[] args) { class Memoizer (line 74) | public static class Memoizer { method lookupOrCreate (line 78) | public T lookupOrCreate(Symbol sym, Term[] args, Supplier constru... class Key (line 102) | private static class Key { method Key (line 108) | public Key(Symbol sym, Term[] args) { method hashCode (line 118) | @Override method equals (line 123) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/IntArrayWrapper.java class IntArrayWrapper (line 24) | public class IntArrayWrapper { method IntArrayWrapper (line 28) | public IntArrayWrapper(int[] a) { method getVal (line 32) | public int[] getVal() { method hashCode (line 36) | @Override method equals (line 41) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/MockCountingFJP.java class MockCountingFJP (line 26) | public class MockCountingFJP implements CountingFJP { method externallyAddTask (line 32) | public synchronized void externallyAddTask(AbstractFJPTask w) { method recursivelyAddTask (line 36) | public synchronized void recursivelyAddTask(AbstractFJPTask w) { method blockUntilFinished (line 40) | public final synchronized void blockUntilFinished() { method shutdown (line 47) | public final synchronized void shutdown() {} method fail (line 49) | public final synchronized void fail(EvaluationException cause) { method hasFailed (line 53) | public final synchronized boolean hasFailed() { method getFailureCause (line 57) | public final synchronized EvaluationException getFailureCause() { method reportTaskCompletion (line 61) | @Override method getStealCount (line 64) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/Pair.java class Pair (line 26) | public class Pair { method Pair (line 31) | public Pair(U fst, V snd) { method fst (line 36) | public U fst() { method snd (line 40) | public V snd() { method hashCode (line 44) | @Override method equals (line 53) | @Override method toString (line 69) | @Override method map (line 74) | public static Set map(Set> s, BiFunction { method push (line 31) | public synchronized void push(Map m) { method pop (line 35) | public synchronized Map pop() { method get (line 39) | public synchronized V get(K k) { method put (line 50) | public synchronized V put(K k, V v) { FILE: src/main/java/edu/harvard/seas/pl/formulog/util/TodoException.java class TodoException (line 22) | public class TodoException extends RuntimeException { method TodoException (line 26) | public TodoException() {} method TodoException (line 28) | public TodoException(String message) { method TodoException (line 32) | public TodoException(Throwable cause) { method TodoException (line 36) | public TodoException(String message, Throwable cause) { method TodoException (line 40) | public TodoException( FILE: src/main/java/edu/harvard/seas/pl/formulog/util/Triple.java class Triple (line 22) | public class Triple { method Triple (line 28) | public Triple(S first, T second, U third) { method hashCode (line 34) | @Override method equals (line 44) | @Override method toString (line 63) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/UnionFind.java class UnionFind (line 26) | public class UnionFind { method contains (line 30) | public boolean contains(T t) { method add (line 34) | public boolean add(T t) { method union (line 38) | public void union(T t1, T t2) { method find (line 44) | public T find(T t) { method members (line 54) | public Set members() { FILE: src/main/java/edu/harvard/seas/pl/formulog/util/Util.java class Util (line 41) | public final class Util { method Util (line 43) | private Util() { method lookupOrCreate (line 47) | public static V lookupOrCreate(Map m, K k, Supplier cn... method i2i (line 59) | public static Iterable i2i(Iterator it) { method concurrentSet (line 63) | public static Set concurrentSet() { method iterableToList (line 67) | public static List iterableToList(Iterable it) { method map (line 73) | public static List map(List xs, Function f) { method printSortedFacts (line 77) | public static void printSortedFacts(Iterable facts, Pri... method fillMapWithFutures (line 90) | public static Map fillMapWithFutures(Map> fu... class IterableOfIterables (line 98) | public static class IterableOfIterables implements Iterable iterable, int size) { method iterator (line 108) | @Override method toString (line 130) | @Override method toString (line 142) | public String toString(Function printer) { method splitIterable (line 161) | public static Iterable> splitIterable(Iterable iter... method clean (line 165) | public static void clean(File f, boolean deleteTopLevel) { method assertBinaryOnPath (line 179) | public static void assertBinaryOnPath(String exec) { method printGraph (line 205) | public static void printGraph(PrintStream out, Graph g) { FILE: src/main/java/edu/harvard/seas/pl/formulog/util/sexp/SExp.java type SExp (line 24) | public interface SExp { method isAtom (line 26) | boolean isAtom(); method isList (line 28) | default boolean isList() { method asAtom (line 32) | String asAtom(); method asList (line 34) | List asList(); FILE: src/main/java/edu/harvard/seas/pl/formulog/util/sexp/SExpAtom.java class SExpAtom (line 24) | public class SExpAtom implements SExp { method SExpAtom (line 28) | public SExpAtom(String value) { method isAtom (line 32) | @Override method asAtom (line 37) | @Override method asList (line 42) | @Override method toString (line 47) | @Override method hashCode (line 52) | @Override method equals (line 60) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/sexp/SExpException.java class SExpException (line 22) | public class SExpException extends Exception { method SExpException (line 26) | public SExpException() {} method SExpException (line 28) | public SExpException(String message) { method SExpException (line 32) | public SExpException(Throwable cause) { method SExpException (line 36) | public SExpException(String message, Throwable cause) { method SExpException (line 40) | public SExpException( FILE: src/main/java/edu/harvard/seas/pl/formulog/util/sexp/SExpLexer.java class SExpLexer (line 25) | public class SExpLexer { method SExpLexer (line 38) | public SExpLexer(Reader reader) { method curToken (line 42) | public SExpToken curToken() throws SExpException { method curValue (line 49) | public String curValue() throws SExpException { method step (line 59) | public void step() throws SExpException { method hasToken (line 66) | public boolean hasToken() throws SExpException { method consume (line 70) | public void consume(SExpToken token) throws SExpException { method loadNextToken (line 79) | private boolean loadNextToken() throws SExpException { method readAtom (line 106) | private String readAtom() throws SExpException { method load (line 116) | private boolean load() throws SExpException { method main (line 128) | public static void main(String[] args) throws SExpException { FILE: src/main/java/edu/harvard/seas/pl/formulog/util/sexp/SExpList.java class SExpList (line 27) | public class SExpList implements SExp { method SExpList (line 31) | public SExpList(List l) { method isAtom (line 35) | @Override method asAtom (line 40) | @Override method asList (line 45) | @Override method toString (line 50) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/util/sexp/SExpParser.java class SExpParser (line 27) | public class SExpParser { method SExpParser (line 31) | public SExpParser(Reader r) { method parse (line 35) | public SExp parse() throws SExpException { method parseList (line 50) | private SExp parseList() throws SExpException { method main (line 72) | public static void main(String[] args) throws SExpException { FILE: src/main/java/edu/harvard/seas/pl/formulog/util/sexp/SExpToken.java type SExpToken (line 22) | public enum SExpToken { FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/FunctionDefValidation.java class FunctionDefValidation (line 32) | public class FunctionDefValidation { method FunctionDefValidation (line 34) | private FunctionDefValidation() { method validate (line 38) | public static void validate(Program prog) throws InvalidProgramE... method validate (line 52) | public static void validate(UserFunctionDef def) throws InvalidProgram... method checkParams (line 68) | private static Set checkParams(List params) throws InvalidPr... FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/InvalidProgramException.java class InvalidProgramException (line 22) | public class InvalidProgramException extends Exception { method InvalidProgramException (line 27) | public InvalidProgramException() {} method InvalidProgramException (line 34) | public InvalidProgramException(String message) { method InvalidProgramException (line 43) | public InvalidProgramException(Throwable cause) { method InvalidProgramException (line 53) | public InvalidProgramException(String message, Throwable cause) { method InvalidProgramException (line 65) | public InvalidProgramException( FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/Stratifier.java class Stratifier (line 66) | public class Stratifier { method Stratifier (line 70) | public Stratifier(Program prog) { method stratify (line 74) | public List stratify() throws InvalidProgramException { method toDot (line 138) | private static void toDot( class DependencyFinder (line 163) | private class DependencyFinder implements Iterable { method processAtom (line 176) | public void processAtom(ComplexLiteral a) { method getDependencyType (line 203) | public DependencyType getDependencyType(RelationSymbol sym) { method addNegOrAggFun (line 216) | private void addNegOrAggFun(RelationSymbol sym) { method addNegOrAggRel (line 221) | private void addNegOrAggRel(RelationSymbol sym) { method addPositive (line 226) | private void addPositive(RelationSymbol sym) { method processTerm (line 230) | public void processTerm(Term t) { method processExpr (line 261) | private void processExpr(Expr expr) { method processFunctionSymbol (line 298) | private void processFunctionSymbol(FunctionSymbol sym) { method iterator (line 313) | @Override type DependencyType (line 319) | private static enum DependencyType { class DependencyTypeWrapper (line 328) | private static class DependencyTypeWrapper { method DependencyTypeWrapper (line 332) | public DependencyTypeWrapper(DependencyType d) { method get (line 336) | public DependencyType get() { method toString (line 340) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/Stratum.java class Stratum (line 25) | public class Stratum { method Stratum (line 31) | public Stratum( method getRank (line 38) | public int getRank() { method getPredicateSyms (line 42) | public Set getPredicateSyms() { method hasRecursiveNegationOrAggregation (line 46) | public boolean hasRecursiveNegationOrAggregation() { method toString (line 50) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ValidRule.java class ValidRule (line 37) | public class ValidRule extends AbstractRule body) { FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/Assignment.java class Assignment (line 28) | public class Assignment implements SimpleLiteral { method make (line 33) | public static Assignment make(Var var, Term rhs) { method Assignment (line 37) | public Assignment(Var var, Term rhs) { method assign (line 42) | public void assign(Substitution subst) throws EvaluationException { method accept (line 46) | @Override method accept (line 51) | @Override method toString (line 57) | @Override method varSet (line 62) | @Override method getTag (line 68) | @Override method getArgs (line 73) | @Override method getDef (line 78) | public Var getDef() { method getVal (line 82) | public Term getVal() { FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/Check.java class Check (line 28) | public class Check implements SimpleLiteral { method make (line 34) | public static Check make(Term lhs, Term rhs, boolean negated) { method Check (line 38) | private Check(Term lhs, Term rhs, boolean negated) { method isNegated (line 44) | public boolean isNegated() { method getLhs (line 48) | public Term getLhs() { method getRhs (line 52) | public Term getRhs() { method check (line 56) | public boolean check(Substitution subst) throws EvaluationException { method accept (line 66) | @Override method accept (line 71) | @Override method toString (line 77) | @Override method varSet (line 82) | @Override method getTag (line 88) | @Override method getArgs (line 93) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/Destructor.java class Destructor (line 34) | public class Destructor implements SimpleLiteral { method make (line 40) | public static Destructor make(Term x, ConstructorSymbol symbol, Var[] ... method assertDisjoint (line 49) | private static boolean assertDisjoint(Collection xs, Collection O accept(SimpleLiteralVisitor visitor, I input); method accept (line 31) | O accept(SimpleLiteralExnVisitor ... method varSet (line 33) | default Set varSet() { method varSet (line 39) | void varSet(Set vars); method getTag (line 41) | SimpleLiteralTag getTag(); FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/SimpleLiteralExnVisitor.java type SimpleLiteralExnVisitor (line 22) | public interface SimpleLiteralExnVisitor { method visit (line 24) | O visit(Assignment assignment, I input) throws E; method visit (line 26) | O visit(Check check, I input) throws E; method visit (line 28) | O visit(Destructor destructor, I input) throws E; method visit (line 30) | O visit(SimplePredicate predicate, I input) throws E; FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/SimpleLiteralTag.java type SimpleLiteralTag (line 22) | public enum SimpleLiteralTag { FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/SimpleLiteralVisitor.java type SimpleLiteralVisitor (line 22) | public interface SimpleLiteralVisitor { method visit (line 24) | O visit(Assignment assignment, I input); method visit (line 26) | O visit(Check check, I input); method visit (line 28) | O visit(Destructor destructor, I input); method visit (line 30) | O visit(SimplePredicate predicate, I input); FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/SimplePredicate.java class SimplePredicate (line 31) | public class SimplePredicate implements SimpleLiteral { method make (line 38) | public static SimplePredicate make( method SimplePredicate (line 44) | private SimplePredicate( method getSymbol (line 52) | public RelationSymbol getSymbol() { method getArgs (line 56) | @Override method getBindingPattern (line 61) | public BindingType[] getBindingPattern() { method isNegated (line 65) | public boolean isNegated() { method accept (line 69) | @Override method accept (line 74) | @Override method toString (line 80) | @Override method normalize (line 111) | public SimplePredicate normalize(Substitution s) throws EvaluationExce... method hashCode (line 119) | @Override method equals (line 130) | @Override method varSet (line 145) | @Override method getTag (line 152) | @Override FILE: src/main/java/edu/harvard/seas/pl/formulog/validating/ast/SimpleRule.java class SimpleRule (line 31) | public class SimpleRule extends AbstractRule body) { method computeBindingPattern (line 72) | private static BindingType[] computeBindingPattern( class Simplifier (line 88) | private static class Simplifier { method Simplifier (line 95) | public Simplifier(Map varCounts) { method getSubst (line 99) | public Substitution getSubst() { method add (line 103) | public void add(ComplexLiteral atom) throws InvalidProgramException { method getConjuncts (line 216) | public List getConjuncts() { method getBoundVars (line 220) | public Set getBoundVars() { FILE: src/main/resources/codegen/src/ConcurrentHashMap.hpp type flg (line 9) | namespace flg { FILE: src/main/resources/codegen/src/Symbol.cpp type flg (line 3) | namespace flg { function ostream (line 5) | ostream& operator<<(ostream& out, Symbol sym) { function initialize_symbols (line 20) | void initialize_symbols() { function Symbol (line 24) | Symbol lookup_symbol(const string& name) { function Symbol (line 33) | Symbol lookup_tuple_symbol(size_t arity) { FILE: src/main/resources/codegen/src/Symbol.hpp type flg (line 8) | namespace flg { type Symbol (line 12) | enum class Symbol { function symbol_arity (line 43) | constexpr size_t symbol_arity(Symbol sym) { FILE: src/main/resources/codegen/src/Term.cpp type flg (line 8) | namespace flg { function ostream (line 10) | ostream &operator<<(ostream &out, const Term &t) { class ComplexTermCache (line 74) | class ComplexTermCache { method term_ptr (line 83) | static term_ptr get(T... val) { function term_ptr (line 101) | term_ptr Term::make(T... val) { function term_ptr (line 107) | term_ptr ComplexTerm::fresh_smt_var() { function term_ptr (line 115) | term_ptr Term::make_generic(Symbol sym, const vector &terms) { FILE: src/main/resources/codegen/src/Term.hpp type flg (line 20) | namespace flg { type Term (line 24) | struct Term method intize (line 62) | [[nodiscard]] souffle::RamDomain intize() const { method term_ptr (line 66) | static term_ptr unintize(souffle::RamDomain id) { method Term (line 73) | explicit Term(Symbol sym_) : sym{sym_} {} type BaseTerm (line 29) | struct BaseTerm method BaseTerm (line 103) | BaseTerm(Symbol sym_, T &&val_) : Term{sym_}, val{std::move(val_)} {} type ComplexTerm (line 30) | struct ComplexTerm method ComplexTerm (line 85) | ComplexTerm(Symbol sym_, size_t arity_, term_ptr *val_) : class BaseTermCache (line 33) | class BaseTermCache type Hash (line 114) | struct Hash { type Equals (line 120) | struct Equals { method term_ptr (line 130) | static term_ptr get(T &&val) { class ComplexTermCache (line 36) | class ComplexTermCache type Term (line 38) | struct Term { method intize (line 62) | [[nodiscard]] souffle::RamDomain intize() const { method term_ptr (line 66) | static term_ptr unintize(souffle::RamDomain id) { method Term (line 73) | explicit Term(Symbol sym_) : sym{sym_} {} type ComplexTerm (line 76) | struct ComplexTerm : public Term { method ComplexTerm (line 85) | ComplexTerm(Symbol sym_, size_t arity_, term_ptr *val_) : type BaseTerm (line 97) | struct BaseTerm : public Term { method BaseTerm (line 103) | BaseTerm(Symbol sym_, T &&val_) : Term{sym_}, val{std::move(val_)} {} class BaseTermCache (line 113) | class BaseTermCache { type Hash (line 114) | struct Hash { type Equals (line 120) | struct Equals { method term_ptr (line 130) | static term_ptr get(T &&val) { function term_ptr (line 146) | inline term_ptr Term::make(bool val) { function term_ptr (line 155) | inline term_ptr Term::make(int32_t val) { function term_ptr (line 160) | inline term_ptr Term::make(int64_t val) { function term_ptr (line 165) | inline term_ptr Term::make(float val) { function term_ptr (line 176) | inline term_ptr Term::make(double val) { function term_ptr (line 187) | inline term_ptr Term::make(string val) { function term_ptr (line 192) | inline term_ptr Term::make_moved(string &&val) { function term_ptr (line 199) | inline term_ptr Term::make_moved(Model &&val) { function term_ptr (line 204) | inline term_ptr Term::make_moved(Set &&val) { function ComplexTerm (line 213) | const ComplexTerm &Term::as_complex() const { method ComplexTerm (line 85) | ComplexTerm(Symbol sym_, size_t arity_, term_ptr *val_) : FILE: src/main/resources/codegen/src/Tuple.hpp type flg (line 7) | namespace flg { type Tuple (line 12) | struct Tuple { method term_ptr (line 15) | inline const term_ptr& operator[](int idx) const { method term_ptr (line 19) | inline term_ptr& operator[](int idx) { function ostream (line 35) | inline ostream& operator<<(ostream& out, const Tuple& tup) function print_relation (line 49) | inline void print_relation(const string& name, bool sorted, const Inde... type Comparator (line 62) | struct Comparator type Comparator<> (line 87) | struct Comparator<> { method less (line 95) | inline bool less(const Tuple& a, const Tuple& b) const { method equal (line 100) | inline bool equal(const Tuple& a, const Tuple& b) const { type Comparator (line 65) | struct Comparator { method less (line 74) | inline bool less(const Tuple& a, const Tuple& b) const { method equal (line 80) | inline bool equal(const Tuple& a, const Tuple& b) const { FILE: src/main/resources/codegen/src/Type.cpp type flg (line 7) | namespace flg { function Type (line 22) | Type TypeSubst::apply(const Type &ty) { function functor_type (line 57) | functor_type Type::make_prim(const std::string &name, const std::vecto... function functor_type (line 61) | functor_type Type::make_prim(const std::string &name) { function Type (line 65) | Type Type::make_index(const std::string &name) { function Type (line 78) | Type Type::new_var() { function functor_type (line 82) | functor_type Type::lookup(Symbol sym) { FILE: src/main/resources/codegen/src/Type.hpp type flg (line 12) | namespace flg { type Type (line 14) | struct Type type TypeSubst (line 15) | struct TypeSubst type Type (line 19) | struct Type { type TypeSubst (line 49) | struct TypeSubst { FILE: src/main/resources/codegen/src/funcs.hpp type flg (line 13) | namespace flg { type funcs (line 15) | namespace funcs { function term_ptr (line 20) | term_ptr __access(term_ptr t1) { function term_ptr (line 24) | term_ptr beq(term_ptr t1, term_ptr t2) { function term_ptr (line 28) | term_ptr bneq(term_ptr t1, term_ptr t2) { function term_ptr (line 32) | term_ptr bnot(term_ptr t1) { function term_ptr (line 37) | term_ptr __add(term_ptr t1, term_ptr t2) { function term_ptr (line 42) | term_ptr __sub(term_ptr t1, term_ptr t2) { function term_ptr (line 47) | term_ptr __mul(term_ptr t1, term_ptr t2) { function term_ptr (line 52) | term_ptr __div(term_ptr t1, term_ptr t2) { function term_ptr (line 57) | term_ptr __rem(term_ptr t1, term_ptr t2) { function term_ptr (line 62) | term_ptr __bitwise_and(term_ptr t1, term_ptr t2) { function term_ptr (line 67) | term_ptr __bitwise_or(term_ptr t1, term_ptr t2) { function term_ptr (line 72) | term_ptr __bitwise_xor(term_ptr t1, term_ptr t2) { function term_ptr (line 77) | term_ptr __shl(term_ptr t1, term_ptr t2) { function term_ptr (line 82) | term_ptr __ashr(term_ptr t1, term_ptr t2) { function term_ptr (line 87) | term_ptr __lshr(term_ptr t1, term_ptr t2) { function term_ptr (line 93) | term_ptr __urem(term_ptr t1, term_ptr t2) { function term_ptr (line 99) | term_ptr __udiv(term_ptr t1, term_ptr t2) { function term_ptr (line 105) | term_ptr __neg(term_ptr t1) { function term_ptr (line 110) | term_ptr __eq(term_ptr t1, term_ptr t2) { function term_ptr (line 115) | term_ptr __lt(term_ptr t1, term_ptr t2) { function term_ptr (line 120) | term_ptr __le(term_ptr t1, term_ptr t2) { function term_ptr (line 125) | term_ptr __gt(term_ptr t1, term_ptr t2) { function term_ptr (line 130) | term_ptr __ge(term_ptr t1, term_ptr t2) { function term_ptr (line 135) | term_ptr __cmp(term_ptr t1, term_ptr t2) { function term_ptr (line 151) | term_ptr print(term_ptr t1) { function term_ptr (line 156) | term_ptr string_concat(term_ptr t1, term_ptr t2) { function term_ptr (line 160) | term_ptr string_matches(term_ptr t1, term_ptr t2) { function term_ptr (line 165) | term_ptr string_starts_with(term_ptr t1, term_ptr t2) { function term_ptr (line 175) | term_ptr _make_some(term_ptr t) { function term_ptr (line 183) | term_ptr _make_none() { function term_ptr (line 191) | term_ptr char_at(term_ptr s, term_ptr i) { function term_ptr (line 200) | term_ptr string_length(term_ptr s) { function term_ptr (line 204) | term_ptr vec_to_term_list(const std::vector &v) { function term_ptr (line 216) | term_ptr string_to_list(term_ptr s) { function term_ptr (line 225) | term_ptr list_to_string(term_ptr l) { function term_ptr (line 234) | term_ptr substring(term_ptr str_term, term_ptr start_term, term_ptr ... function term_ptr (line 244) | term_ptr string_to_i32(term_ptr str_term) { function term_ptr (line 266) | term_ptr string_to_i64(term_ptr str_term) { function term_ptr (line 288) | term_ptr to_string(term_ptr t1) { function term_ptr (line 298) | term_ptr __conv(term_ptr t1) { function term_ptr (line 302) | term_ptr is_sat(term_ptr t1) { function term_ptr (line 314) | term_ptr _make_smt_not(term_ptr t) { function term_ptr (line 322) | term_ptr is_valid(term_ptr t1) { function _extract_timeout_from_option (line 334) | int32_t _extract_timeout_from_option(term_ptr o) { function term_ptr (line 345) | term_ptr is_sat_opt(term_ptr t1, term_ptr t2) { function term_ptr (line 360) | term_ptr is_set_sat(term_ptr t1, term_ptr t2) { function term_ptr (line 375) | term_ptr get_model(term_ptr t1, term_ptr t2) { function term_ptr (line 390) | term_ptr query_model(term_ptr t1, term_ptr t2) { function make_int_key (line 399) | std::vector make_int_key(std::vector k... function term_ptr (line 410) | term_ptr _relation_contains(const std::string &relname, const std::v... function term_ptr (line 428) | term_ptr _relation_contains_complete(const std::string &relname, con... function term_ptr (line 441) | term_ptr _relation_agg_mono(const std::string &relname, const std::v... function term_ptr (line 462) | term_ptr function term_ptr (line 489) | term_ptr opaque_set_empty() { function term_ptr (line 493) | term_ptr opaque_set_plus(term_ptr val, term_ptr set) { function term_ptr (line 498) | term_ptr opaque_set_minus(term_ptr val, term_ptr set) { function term_ptr (line 503) | term_ptr opaque_set_union(term_ptr set1, term_ptr set2) { function term_ptr (line 509) | term_ptr opaque_set_diff(term_ptr set1, term_ptr set2) { function term_ptr (line 515) | term_ptr opaque_set_choose(term_ptr set) { function term_ptr (line 529) | term_ptr opaque_set_size(term_ptr set) { function term_ptr (line 534) | term_ptr opaque_set_member(term_ptr val, term_ptr set) { function term_ptr (line 539) | term_ptr opaque_set_singleton(term_ptr val) { function term_ptr (line 543) | term_ptr opaque_set_subset(term_ptr set1, term_ptr set2) { function term_ptr (line 549) | term_ptr opaque_set_from_list(term_ptr list) { function term_ptr (line 557) | term_ptr fold(term_ptr (*f)(term_ptr, term_ptr, Ts...), term_ptr acc... FILE: src/main/resources/codegen/src/functors.cpp function nth (line 7) | souffle::RamDomain FILE: src/main/resources/codegen/src/functors.h function namespace (line 6) | namespace flg { FILE: src/main/resources/codegen/src/globals.h function smt_stats (line 18) | inline bool smt_stats{false}; FILE: src/main/resources/codegen/src/main.cpp type ExternalEdbLoader (line 21) | struct ExternalEdbLoader { method ExternalEdbLoader (line 22) | explicit ExternalEdbLoader(size_t nthreads) : pool(nthreads) {} function loadFact (line 57) | void loadFact(const string &relname, const vector &args) { function loadEdbs (line 67) | void loadEdbs(const vector &dirs, size_t nthreads) { function printBanner (line 72) | void printBanner(const std::string &heading) { function printSmallBanner (line 76) | void printSmallBanner(const std::string &heading) { function printSizes (line 80) | void printSizes() { function printResults (line 93) | void printResults() { type ExternalIdbPrinter (line 119) | struct ExternalIdbPrinter { method ExternalIdbPrinter (line 120) | ExternalIdbPrinter(boost::filesystem::path dir_, size_t nthreads) : di... type std (line 160) | namespace std { function join (line 170) | std::string join(const std::vector &v) { function printSmtStats (line 186) | void printSmtStats() { function main (line 210) | int main(int argc, char **argv) { FILE: src/main/resources/codegen/src/parser.cpp type flg (line 12) | namespace flg { type parser (line 14) | namespace parser { class TermParser (line 19) | class TermParser { method TermParser (line 24) | TermParser(const string &term) : buffer(term), pos(0) {} function term_ptr (line 90) | inline term_ptr TermParser::take_term() { function term_ptr (line 135) | inline term_ptr TermParser::take_tuple_or_parens() { function term_ptr (line 152) | inline term_ptr TermParser::take_list() { function term_ptr (line 179) | inline term_ptr TermParser::take_constructor() { function term_ptr (line 225) | inline term_ptr TermParser::take_string() { function term_ptr (line 243) | inline term_ptr TermParser::take_numeric() { function term_ptr (line 296) | term_ptr parse_term(const string &term) { FILE: src/main/resources/codegen/src/parser.hpp type flg (line 10) | namespace flg { type parser (line 12) | namespace parser { class parsing_error (line 17) | class parsing_error : public logic_error { function parse_facts (line 23) | inline void parse_facts(istream &in, souffle::Relation &rel) { FILE: src/main/resources/codegen/src/set.cpp type flg::set (line 7) | namespace flg::set { function Set (line 9) | Set empty() { function Set (line 13) | Set singleton(term_ptr val) { function Set (line 17) | Set plus(term_ptr val, const Set &set) { function Set (line 23) | Set minus(term_ptr val, const Set &set) { function Set (line 29) | Set plus_all(const Set &s1, const Set &s2) { function Set (line 35) | Set minus_all(const Set &s1, const Set &s2) { function member (line 52) | bool member(term_ptr val, const Set &set) { function size (line 56) | std::size_t size(const Set &set) { function subset (line 60) | bool subset(const Set &s1, const Set &s2) { function choose (line 73) | std::optional> choose(const Set &s) { function Set (line 85) | Set from_vec(const std::vector &vec) { FILE: src/main/resources/codegen/src/set.hpp type flg (line 12) | namespace flg { type Term (line 14) | struct Term type set (line 19) | namespace set { FILE: src/main/resources/codegen/src/smt_parser.cpp type flg (line 8) | namespace flg { function Model (line 68) | Model SmtLibParser::get_model(std::istream &is) const { function parse_string_raw (line 130) | std::string parse_string_raw(SmtLibTokenizer &t) { function is_ident_char (line 160) | bool is_ident_char(int ch) { function parse_identifier (line 186) | std::string parse_identifier(SmtLibTokenizer &t) { function skip_rest_of_s_exp (line 214) | void skip_rest_of_s_exp(SmtLibTokenizer &t) { function term_ptr (line 248) | term_ptr parse_string(SmtLibTokenizer &t) { function parse_bv (line 252) | uint64_t parse_bv(SmtLibTokenizer &t) { function To (line 268) | To bit_cast(From from) { function term_ptr (line 274) | term_ptr parse_i32(SmtLibTokenizer &t) { function term_ptr (line 278) | term_ptr parse_i64(SmtLibTokenizer &t) { function term_ptr (line 283) | term_ptr parse_fp(SmtLibTokenizer &t) { function term_ptr (line 323) | term_ptr parse_fp32(SmtLibTokenizer &t) { function term_ptr (line 327) | term_ptr parse_fp64(SmtLibTokenizer &t) { function term_ptr (line 331) | term_ptr parse_bool(SmtLibTokenizer &t) { function term_ptr (line 342) | term_ptr parse_adt(SmtLibTokenizer &t) { function term_ptr (line 364) | term_ptr SmtLibParser::parse_term(SmtLibTokenizer &t, Symbol sym) const { FILE: src/main/resources/codegen/src/smt_parser.hpp type flg (line 12) | namespace flg { class SmtLibTokenizer (line 14) | class SmtLibTokenizer { method SmtLibTokenizer (line 16) | explicit SmtLibTokenizer(std::istream &is) : m_is(is) {} method ignore_whitespace (line 18) | void ignore_whitespace(bool ignore) { method ignoring_whitespace (line 22) | bool ignoring_whitespace() { method is_word_char (line 41) | static bool is_word_char(int ch) { class SmtLibParser (line 46) | class SmtLibParser { method SmtLibParser (line 48) | explicit SmtLibParser(std::unordered_map &var... FILE: src/main/resources/codegen/src/smt_shim.cpp type flg::smt (line 13) | namespace flg::smt { function is_solver_var (line 19) | bool is_solver_var(term_ptr t) { function needs_type_annotation (line 27) | bool needs_type_annotation(Symbol sym) { class MyTypeInferer (line 35) | class MyTypeInferer { function Type (line 63) | Type MyTypeInferer::visit(term_ptr t) { function SmtStatus (line 185) | SmtStatus SmtLibShim::check_sat_assuming(const std::vector &... function Model (line 224) | Model SmtLibShim::get_model() { function string (line 421) | string SmtLibShim::serialize_sym(Symbol sym) { function string (line 431) | string SmtLibShim::serialize_tester(Symbol sym) { FILE: src/main/resources/codegen/src/smt_shim.h type class (line 16) | enum class function class (line 20) | class SmtShim { function class (line 44) | class SmtLibShim : public SmtShim { FILE: src/main/resources/codegen/src/smt_solver.cpp type flg::smt (line 10) | namespace flg::smt { function break_into_conjuncts (line 15) | std::vector break_into_conjuncts(term_ptr t) { function SmtResult (line 54) | SmtResult TopLevelSmtSolver::check(const std::vector &assert... function SmtResult (line 58) | SmtResult TopLevelSmtSolver::check(term_ptr assertion) { function SmtResult (line 64) | SmtResult MemoizingSmtSolver::check(const std::vector &asser... function SmtResult (line 108) | SmtResult AbstractSmtSolver::check(const std::vector &assert... function SmtResult (line 246) | SmtResult DoubleCheckingSolver::check(const std::vector &ass... function break_into_conjuncts_negated (line 254) | void break_into_conjuncts_negated(term_ptr t, std::vector &a... function break_into_conjuncts (line 280) | void break_into_conjuncts(term_ptr t, std::vector &acc) { FILE: src/main/resources/codegen/src/smt_solver.h type class (line 20) | enum class type SmtResult (line 24) | struct SmtResult { function class (line 29) | class SmtSolver { function class (line 40) | class TopLevelSmtSolver : public SmtSolver { function class (line 57) | class TBBTopLevelSmtSolver : public SmtSolver { function class (line 76) | class MemoizingSmtSolver : public SmtSolver { function explicit (line 95) | explicit AbstractSmtSolver(std::unique_ptr &&shim) : m_shim{std... function explicit (line 118) | explicit PushPopNaiveSolver(std::unique_ptr &&shim) : AbstractS... function explicit (line 148) | explicit PushPopSolver(std::unique_ptr &&shim) : AbstractSmtSol... function namespace (line 190) | namespace std { FILE: src/main/resources/codegen/src/time.hpp type flg (line 9) | namespace flg { function time_t (line 14) | time_t time(const F &f) { FILE: src/test/java/edu/harvard/seas/pl/formulog/codegen/CodeGenTester.java class CodeGenTester (line 49) | public class CodeGenTester implements Tester { method CodeGenTester (line 54) | public CodeGenTester(boolean eagerEval) { method test (line 58) | @Override method evaluate (line 99) | private boolean evaluate(String name, Path topPath, BasicProgram prog)... method printToStdErr (line 164) | private static void printToStdErr(InputStream is) throws IOException { FILE: src/test/java/edu/harvard/seas/pl/formulog/codegen/CompiledEagerEvaluationTest.java class CompiledEagerEvaluationTest (line 46) | public class CompiledEagerEvaluationTest extends CommonEvaluationTest implements Tester { method test (line 28) | @Override FILE: src/test/java/edu/harvard/seas/pl/formulog/eval/AbstractEvaluationTest.java class AbstractEvaluationTest (line 25) | public abstract class AbstractEvaluationTest { method AbstractEvaluationTest (line 29) | public AbstractEvaluationTest(Tester tester) { method test (line 33) | protected void test(String file, List inputDirs) { method test (line 37) | protected void test(String file) { FILE: src/test/java/edu/harvard/seas/pl/formulog/eval/AbstractTester.java class AbstractTester (line 40) | public abstract class AbstractTester implements Te... method test (line 42) | @Override method setup (line 75) | protected abstract T setup(WellTypedProgram prog) method evaluate (line 78) | protected abstract boolean evaluate(T eval) throws EvaluationException; FILE: src/test/java/edu/harvard/seas/pl/formulog/eval/CommonEvaluationTest.java class CommonEvaluationTest (line 25) | public abstract class CommonEvaluationTest extends... method CommonEvaluationTest (line 27) | public CommonEvaluationTest(Tester tester) { method test018 (line 31) | @Test method test019 (line 36) | @Test method test020 (line 41) | @Test method test021 (line 46) | @Test method test022 (line 51) | @Test method test023 (line 56) | @Test method test024 (line 61) | @Test method test027 (line 66) | @Test method test029 (line 71) | @Test method test030 (line 76) | @Test method test032 (line 81) | @Test method test033 (line 86) | @Test method test034 (line 91) | @Test method test035 (line 96) | @Test method test037 (line 101) | @Test method test038 (line 106) | @Test method test039 (line 111) | @Test method test040 (line 116) | @Test method test041 (line 121) | @Test method test043 (line 126) | @Test method test044 (line 131) | @Test method test045 (line 136) | @Test method test046 (line 141) | @Test method test047 (line 146) | @Test method test048 (line 151) | @Test method test056 (line 156) | @Test method test057 (line 161) | @Test method test058 (line 166) | @Test method test061 (line 171) | @Test method test062 (line 176) | @Test method test063 (line 181) | @Test method test064 (line 186) | @Test method test065 (line 191) | @Test method test066 (line 196) | @Test method test067 (line 201) | @Test method test068 (line 206) | @Test method test069 (line 211) | @Test method test070 (line 216) | @Test method test071 (line 221) | @Test method test072 (line 226) | @Test method test073 (line 231) | @Test method test077 (line 236) | @Test method test078 (line 241) | @Test method test079 (line 246) | @Test method test081 (line 251) | @Test method test082 (line 256) | @Test method test083 (line 261) | @Test method test084 (line 266) | @Test method test085 (line 271) | @Test method test086 (line 276) | @Test method test087 (line 281) | @Test method test088 (line 286) | @Test method test089 (line 291) | @Test method test090 (line 296) | @Test method test092 (line 301) | @Test method test093 (line 306) | @Test method test094 (line 311) | @Test method test095 (line 316) | @Test method test096 (line 321) | @Test method test097 (line 326) | @Test method test099 (line 331) | @Test method test100 (line 336) | @Test method test102 (line 341) | @Test method test103 (line 346) | @Test method test104 (line 351) | @Test method test105 (line 356) | @Test method test106 (line 361) | @Test method test107 (line 366) | @Test method test108 (line 371) | @Test method test109 (line 376) | @Test method test110 (line 381) | @Test method test111 (line 386) | @Test method test112 (line 391) | @Test method test113 (line 396) | @Test method test114 (line 401) | @Test method test115 (line 406) | @Test method test116 (line 411) | @Test method test117 (line 416) | @Test method test119 (line 421) | @Test method test120 (line 426) | @Test method test121 (line 431) | @Test method test122 (line 436) | @Test method test123 (line 441) | @Test method test124 (line 446) | @Test method test125 (line 451) | @Test method test126 (line 456) | @Test method test127 (line 461) | @Test method test128 (line 466) | @Test method test129 (line 471) | @Test method test134 (line 476) | @Test method test135 (line 481) | @Test method test136 (line 486) | @Test method test137 (line 491) | @Test method test139 (line 496) | @Test method test180 (line 501) | @Test method test181 (line 506) | @Test method test182 (line 511) | @Test method test183 (line 516) | @Test method test184 (line 521) | @Test method test186 (line 526) | @Test method test187 (line 531) | @Test method test189 (line 536) | @Test method test190 (line 541) | @Test method test191 (line 546) | @Test method test192 (line 551) | @Test method test193 (line 556) | @Test method test238 (line 561) | @Test method test240 (line 566) | @Test method test241 (line 571) | @Test method test242 (line 576) | @Test method test243 (line 581) | @Test method test244 (line 586) | @Test method test245 (line 591) | @Test method test254 (line 596) | @Test method test256 (line 601) | @Test method test258 (line 606) | @Test method test259 (line 611) | @Test method test260 (line 616) | @Test method test261 (line 621) | @Test method test262 (line 626) | @Test method test263 (line 631) | @Test method test264 (line 636) | @Test method test265 (line 641) | @Test method test267 (line 646) | @Test method test273 (line 651) | @Test method test274 (line 656) | @Test method test275 (line 661) | @Test method test276 (line 666) | @Test method test277 (line 671) | @Test method test278 (line 676) | @Test method test279 (line 681) | @Test method test280 (line 686) | @Test method test281 (line 691) | @Test method test282 (line 696) | @Test method test283 (line 701) | @Test method test284 (line 706) | @Test method test285 (line 711) | @Test method test286 (line 716) | @Test method test287 (line 721) | @Test method test288 (line 726) | @Test method test289 (line 731) | @Test method test290 (line 736) | @Test method test291 (line 741) | @Test method test292 (line 746) | @Test method test297 (line 751) | @Test method test298 (line 756) | @Test method test299 (line 761) | @Test method test300 (line 766) | @Test method test301 (line 771) | @Test method test304 (line 776) | @Test method test305 (line 781) | @Test method test306 (line 786) | @Test method test308 (line 791) | @Test method test309 (line 796) | @Test method test310 (line 801) | @Test method test311 (line 806) | @Test method test320 (line 823) | @Test method test321 (line 828) | @Test method test323 (line 833) | @Test method test324 (line 838) | @Test method test325 (line 843) | @Test method test326 (line 848) | @Test method test328 (line 853) | @Test method test329 (line 858) | @Test method test330 (line 863) | @Test method test331 (line 868) | @Test method test332 (line 873) | @Test method test334 (line 878) | @Test method test336 (line 883) | @Test method test337 (line 888) | @Test method test338 (line 893) | @Test method test339 (line 898) | @Test method test340 (line 903) | @Test method test345 (line 908) | @Test FILE: src/test/java/edu/harvard/seas/pl/formulog/eval/EagerSemiNaiveEvaluationTest.java class EagerSemiNaiveEvaluationTest (line 22) | public class EagerSemiNaiveEvaluationTest extends CommonEvaluationTest inputDirs); FILE: src/test/java/edu/harvard/seas/pl/formulog/magic/CommonMagicSetTest.java class CommonMagicSetTest (line 27) | public abstract class CommonMagicSetTest extends A... method CommonMagicSetTest (line 29) | public CommonMagicSetTest(Tester tester) { method test140 (line 33) | @Test method test141 (line 38) | @Test method test142 (line 43) | @Test method test143 (line 48) | @Test method test144 (line 53) | @Test method test145 (line 58) | @Test method test146 (line 63) | @Test method test147 (line 68) | @Test method test148 (line 73) | @Test method test149 (line 78) | @Test method test150 (line 83) | @Test method test151 (line 88) | @Test method test152 (line 93) | @Test method test153 (line 98) | @Test method test154 (line 103) | @Test method test155 (line 108) | @Test method test156 (line 113) | @Test method test157 (line 118) | @Test method test158 (line 123) | @Test method test159 (line 128) | @Test method test160 (line 133) | @Test method test161 (line 138) | @Test method test162 (line 143) | @Test method test163 (line 148) | @Test method test164 (line 153) | @Test method test165 (line 158) | @Test method test166 (line 163) | @Test method test167 (line 168) | @Test method test168 (line 173) | @Test method test169 (line 178) | @Test method test170 (line 183) | @Test method test171 (line 188) | @Test method test172 (line 193) | @Test method test173 (line 198) | @Test method test174 (line 203) | @Test method test175 (line 208) | @Test method test176 (line 213) | @Test method test177 (line 218) | @Test method test178 (line 223) | @Test method test179 (line 228) | @Test method test249 (line 233) | @Test method test250 (line 238) | @Test method test252 (line 243) | @Test method test253 (line 248) | @Test FILE: src/test/java/edu/harvard/seas/pl/formulog/magic/EagerSemiNaiveMagicSetTest.java class EagerSemiNaiveMagicSetTest (line 25) | public class EagerSemiNaiveMagicSetTest extends CommonMagicSetTest