edu.toronto.cs.tp.cvcl
Class ValidityChecker

java.lang.Object
  extended by edu.toronto.cs.tp.cvcl.ValidityChecker

public class ValidityChecker
extends java.lang.Object


Field Summary
 StopWatch sw
           
protected  boolean swigCMemOwn
           
 
Constructor Summary
  ValidityChecker()
           
  ValidityChecker(CLFlags flags)
           
protected ValidityChecker(long cPtr, boolean cMemoryOwn)
           
 
Method Summary
 Expr andExpr(CVectorExpr children)
           
 Expr andExpr(Expr left, Expr right)
           
 Type arrayType(Type typeIndex, Type typeData)
           
 void assertFormula(Expr e)
           
 Type boolType()
           
 Expr boundVarExpr(java.lang.String name, java.lang.String uid, Type type)
           
static ValidityChecker create()
           
static ValidityChecker create(CLFlags flags)
           
 Context createContext()
           
static CLFlags createFlags()
           
 Op createOp(java.lang.String name, Type type)
           
 Type createType(java.lang.String typeName)
           
 Type createType(java.lang.String typeName, Type def)
           
 Expr datatypeUpdateExpr(Expr dt, Expr accessor, Expr newValue)
           
 void delete()
           
 Expr divideExpr(Expr numerator, Expr denominator)
           
 Expr eqExpr(Expr child0, Expr child1)
           
 Expr existsExpr(CVectorExpr vars, Expr body)
           
 Expr falseExpr()
           
 Expr floorExpr(Expr expr)
           
 Expr forallExpr(CVectorExpr vars, Expr body)
           
 Expr funExpr(Op op, CVectorExpr children)
           
 Expr funExpr(Op op, Expr child)
           
 Expr funExpr(Op op, Expr left, Expr right)
           
 Expr funExpr(Op op, Expr child0, Expr child1, Expr child2)
           
 Type funType(Type typeDom, Type typeRan)
           
 Expr geExpr(Expr left, Expr right)
           
 void getAssertions(CVectorExpr assertions)
           
 void getAssumptions(CVectorExpr assumptions)
           
 void getAssumptionsTCC(CVectorExpr assumptions)
           
 Type getBaseType(Expr e)
           
 Expr getClosure()
           
 void getCounterExample(CVectorExpr assertions)
           
protected static long getCPtr(ValidityChecker obj)
           
 Context getCurrentContext()
           
 ExprManager getEM()
           
 Proof getProof()
           
 Proof getProofClosure()
           
 Proof getProofTCC()
           
 Statistics getStatistics()
           
 Expr getTCC()
           
 Type getType(Expr e)
           
 Expr gtExpr(Expr left, Expr right)
           
 Expr iffExpr(Expr left, Expr right)
           
 Expr impliesExpr(Expr hyp, Expr conc)
           
 Expr importExpr(Expr e)
           
 Type importType(Type t)
           
 boolean inconsistent(CVectorExpr assumptions)
           
 Type intType()
           
 Expr iteExpr(Expr ifpart, Expr thenpart, Expr elsepart)
           
 Expr lambdaExpr(CVectorExpr vars, Expr body)
           
 Expr leExpr(Expr left, Expr right)
           
 Expr listExpr(CVectorExpr kids)
           
 Expr listExpr(Expr e1)
           
 Expr listExpr(Expr e1, Expr e2)
           
 Expr listExpr(Expr e1, Expr e2, Expr e3)
           
 Expr listExpr(java.lang.String op, CVectorExpr kids)
           
 Expr listExpr(java.lang.String op, Expr e1)
           
 Expr listExpr(java.lang.String op, Expr e1, Expr e2)
           
 Type lookupType(java.lang.String typeName)
           
 Expr lookupVar(java.lang.String name, Type type)
           
 Expr ltExpr(Expr left, Expr right)
           
 Expr minusExpr(Expr left, Expr right)
           
 Expr multExpr(Expr left, Expr right)
           
 Expr notExpr(Expr child)
           
 Expr orExpr(CVectorExpr children)
           
 Expr orExpr(Expr left, Expr right)
           
 Expr parseExpr(Expr e)
           
 Expr plusExpr(Expr left, Expr right)
           
 void pop()
           
 void popto(int scopeLevel)
           
 Expr powExpr(Expr x, Expr n)
           
 void printExpr(Expr e)
           
 void printStatistics()
           
 void printV(Expr e)
           
 void push()
           
 boolean query(Expr e, boolean tcc)
           
 Expr ratExpr(int n, int d)
           
 Expr ratExpr(java.lang.String n, int base)
           
 Expr ratExpr(java.lang.String n, java.lang.String d, int base)
           
 Expr readExpr(Expr array, Expr index)
           
 Type realType()
           
 Expr recordExpr(java.lang.String field, Expr expr)
           
 Expr recordExpr(java.lang.String field0, Expr expr0, java.lang.String field1, Expr expr1)
           
 Expr recordExpr(java.lang.String field0, Expr expr0, java.lang.String field1, Expr expr1, java.lang.String field2, Expr expr2)
           
 Expr recordExpr(SWIGTYPE_p_std__vectorTstd__string_t fields, CVectorExpr exprs)
           
 Type recordType(java.lang.String field, Type type)
           
 Type recordType(java.lang.String field0, Type type0, java.lang.String field1, Type type1)
           
 Type recordType(java.lang.String field0, Type type0, java.lang.String field1, Type type1, java.lang.String field2, Type type2)
           
 Type recordType(SWIGTYPE_p_std__vectorTstd__string_t fields, CVectorType types)
           
 Expr recSelectExpr(Expr record, java.lang.String field)
           
 Expr recUpdateExpr(Expr record, java.lang.String field, Expr newValue)
           
 int scopeLevel()
           
 Expr simplify(Expr e)
           
 Theorem3 simplifyThm(Expr e)
           
 Expr simulateExpr(Expr f, Expr s0, CVectorExpr inputs, Expr n)
           
 Type subrangeType(Expr l, Expr r)
           
 Type subtypeType(Expr pred)
           
 Context switchContext(Context context)
           
 Expr trueExpr()
           
 Expr tupleExpr(CVectorExpr exprs)
           
 Expr tupleSelectExpr(Expr tuple, int index)
           
 Type tupleType(CVectorType types)
           
 Type tupleType(Type type0, Type type1)
           
 Type tupleType(Type type0, Type type1, Type type2)
           
 Expr tupleUpdateExpr(Expr tuple, int index, Expr newValue)
           
 Expr uminusExpr(Expr child)
           
 Expr varExpr(java.lang.String name, Type type)
           
 Expr writeExpr(Expr array, Expr index, Expr newValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

swigCMemOwn

protected boolean swigCMemOwn

sw

public StopWatch sw
Constructor Detail

ValidityChecker

protected ValidityChecker(long cPtr,
                          boolean cMemoryOwn)

ValidityChecker

public ValidityChecker()

ValidityChecker

public ValidityChecker(CLFlags flags)
Method Detail

delete

public void delete()

getCPtr

protected static long getCPtr(ValidityChecker obj)

createFlags

public static CLFlags createFlags()

create

public static ValidityChecker create()

create

public static ValidityChecker create(CLFlags flags)

boolType

public Type boolType()

realType

public Type realType()

intType

public Type intType()

subrangeType

public Type subrangeType(Expr l,
                         Expr r)

subtypeType

public Type subtypeType(Expr pred)

tupleType

public Type tupleType(Type type0,
                      Type type1)

tupleType

public Type tupleType(Type type0,
                      Type type1,
                      Type type2)

tupleType

public Type tupleType(CVectorType types)

recordType

public Type recordType(java.lang.String field,
                       Type type)

recordType

public Type recordType(java.lang.String field0,
                       Type type0,
                       java.lang.String field1,
                       Type type1)

recordType

public Type recordType(java.lang.String field0,
                       Type type0,
                       java.lang.String field1,
                       Type type1,
                       java.lang.String field2,
                       Type type2)

recordType

public Type recordType(SWIGTYPE_p_std__vectorTstd__string_t fields,
                       CVectorType types)

arrayType

public Type arrayType(Type typeIndex,
                      Type typeData)

funType

public Type funType(Type typeDom,
                    Type typeRan)

createType

public Type createType(java.lang.String typeName)

createType

public Type createType(java.lang.String typeName,
                       Type def)

lookupType

public Type lookupType(java.lang.String typeName)

getEM

public ExprManager getEM()

varExpr

public Expr varExpr(java.lang.String name,
                    Type type)

boundVarExpr

public Expr boundVarExpr(java.lang.String name,
                         java.lang.String uid,
                         Type type)

lookupVar

public Expr lookupVar(java.lang.String name,
                      Type type)

getType

public Type getType(Expr e)

getBaseType

public Type getBaseType(Expr e)

listExpr

public Expr listExpr(CVectorExpr kids)

listExpr

public Expr listExpr(Expr e1)

listExpr

public Expr listExpr(Expr e1,
                     Expr e2)

listExpr

public Expr listExpr(Expr e1,
                     Expr e2,
                     Expr e3)

listExpr

public Expr listExpr(java.lang.String op,
                     CVectorExpr kids)

listExpr

public Expr listExpr(java.lang.String op,
                     Expr e1)

listExpr

public Expr listExpr(java.lang.String op,
                     Expr e1,
                     Expr e2)

printExpr

public void printExpr(Expr e)

parseExpr

public Expr parseExpr(Expr e)

importExpr

public Expr importExpr(Expr e)

importType

public Type importType(Type t)

trueExpr

public Expr trueExpr()

falseExpr

public Expr falseExpr()

notExpr

public Expr notExpr(Expr child)

andExpr

public Expr andExpr(Expr left,
                    Expr right)

andExpr

public Expr andExpr(CVectorExpr children)

orExpr

public Expr orExpr(Expr left,
                   Expr right)

orExpr

public Expr orExpr(CVectorExpr children)

impliesExpr

public Expr impliesExpr(Expr hyp,
                        Expr conc)

iffExpr

public Expr iffExpr(Expr left,
                    Expr right)

eqExpr

public Expr eqExpr(Expr child0,
                   Expr child1)

iteExpr

public Expr iteExpr(Expr ifpart,
                    Expr thenpart,
                    Expr elsepart)

createOp

public Op createOp(java.lang.String name,
                   Type type)

funExpr

public Expr funExpr(Op op,
                    Expr child)

funExpr

public Expr funExpr(Op op,
                    Expr left,
                    Expr right)

funExpr

public Expr funExpr(Op op,
                    Expr child0,
                    Expr child1,
                    Expr child2)

funExpr

public Expr funExpr(Op op,
                    CVectorExpr children)

ratExpr

public Expr ratExpr(int n,
                    int d)

ratExpr

public Expr ratExpr(java.lang.String n,
                    java.lang.String d,
                    int base)

ratExpr

public Expr ratExpr(java.lang.String n,
                    int base)

uminusExpr

public Expr uminusExpr(Expr child)

plusExpr

public Expr plusExpr(Expr left,
                     Expr right)

minusExpr

public Expr minusExpr(Expr left,
                      Expr right)

multExpr

public Expr multExpr(Expr left,
                     Expr right)

powExpr

public Expr powExpr(Expr x,
                    Expr n)

divideExpr

public Expr divideExpr(Expr numerator,
                       Expr denominator)

ltExpr

public Expr ltExpr(Expr left,
                   Expr right)

leExpr

public Expr leExpr(Expr left,
                   Expr right)

gtExpr

public Expr gtExpr(Expr left,
                   Expr right)

geExpr

public Expr geExpr(Expr left,
                   Expr right)

floorExpr

public Expr floorExpr(Expr expr)

recordExpr

public Expr recordExpr(java.lang.String field,
                       Expr expr)

recordExpr

public Expr recordExpr(java.lang.String field0,
                       Expr expr0,
                       java.lang.String field1,
                       Expr expr1)

recordExpr

public Expr recordExpr(java.lang.String field0,
                       Expr expr0,
                       java.lang.String field1,
                       Expr expr1,
                       java.lang.String field2,
                       Expr expr2)

recordExpr

public Expr recordExpr(SWIGTYPE_p_std__vectorTstd__string_t fields,
                       CVectorExpr exprs)

recSelectExpr

public Expr recSelectExpr(Expr record,
                          java.lang.String field)

recUpdateExpr

public Expr recUpdateExpr(Expr record,
                          java.lang.String field,
                          Expr newValue)

readExpr

public Expr readExpr(Expr array,
                     Expr index)

writeExpr

public Expr writeExpr(Expr array,
                      Expr index,
                      Expr newValue)

tupleExpr

public Expr tupleExpr(CVectorExpr exprs)

tupleSelectExpr

public Expr tupleSelectExpr(Expr tuple,
                            int index)

tupleUpdateExpr

public Expr tupleUpdateExpr(Expr tuple,
                            int index,
                            Expr newValue)

datatypeUpdateExpr

public Expr datatypeUpdateExpr(Expr dt,
                               Expr accessor,
                               Expr newValue)

forallExpr

public Expr forallExpr(CVectorExpr vars,
                       Expr body)

existsExpr

public Expr existsExpr(CVectorExpr vars,
                       Expr body)

lambdaExpr

public Expr lambdaExpr(CVectorExpr vars,
                       Expr body)

simulateExpr

public Expr simulateExpr(Expr f,
                         Expr s0,
                         CVectorExpr inputs,
                         Expr n)

assertFormula

public void assertFormula(Expr e)

simplify

public Expr simplify(Expr e)

simplifyThm

public Theorem3 simplifyThm(Expr e)

printV

public void printV(Expr e)

query

public boolean query(Expr e,
                     boolean tcc)

getAssertions

public void getAssertions(CVectorExpr assertions)

getCounterExample

public void getCounterExample(CVectorExpr assertions)

inconsistent

public boolean inconsistent(CVectorExpr assumptions)

getProof

public Proof getProof()

getAssumptions

public void getAssumptions(CVectorExpr assumptions)

getTCC

public Expr getTCC()

getAssumptionsTCC

public void getAssumptionsTCC(CVectorExpr assumptions)

getProofTCC

public Proof getProofTCC()

getClosure

public Expr getClosure()

getProofClosure

public Proof getProofClosure()

push

public void push()

pop

public void pop()

popto

public void popto(int scopeLevel)

scopeLevel

public int scopeLevel()

createContext

public Context createContext()

getCurrentContext

public Context getCurrentContext()

switchContext

public Context switchContext(Context context)

getStatistics

public Statistics getStatistics()

printStatistics

public void printStatistics()