| Package | Description |
|---|---|
| wyal.io | |
| wyal.lang | |
| wyal.util | |
| wytp.proof | |
| wytp.proof.rules | |
| wytp.proof.util | |
| wytp.types | |
| wytp.types.extractors | |
| wytp.types.util |
| Modifier and Type | Method and Description |
|---|---|
void |
WyalFilePrinter.writeArguments(WyalFile.Expr[] exprs) |
void |
WyalFilePrinter.writeExpression(WyalFile.Expr expr) |
void |
WyalFilePrinter.writeExpressionWithBrackets(WyalFile.Expr expr)
Write an expression with brackets (if necessary).
|
| Modifier and Type | Class and Description |
|---|---|
static class |
WyalFile.Expr.Addition
Represents an arithmetic addition expression of the form
"
e1 + ... |
static class |
WyalFile.Expr.ArrayAccess
Represents an array access expression of the form
"
arr[e]" where arr is the source
array and e the subscript expression. |
static class |
WyalFile.Expr.ArrayGenerator
Represents an array generator expression of the form
"
[e1;e2]" where e1 is the element
expression and e2 is the length expression. |
static class |
WyalFile.Expr.ArrayInitialiser
Represents an array initialiser expression of the form
"
[e1,...,en]" where e1 ... |
static class |
WyalFile.Expr.ArrayLength
Represents an array length expression of the form
"
|arr|" where arr is the source
array. |
static class |
WyalFile.Expr.ArrayUpdate
Represents an array update expression of the form
"
arr[e1:=e2]" where arr is the source
array, e1 the subscript expression and
e2 is the value expression. |
static class |
WyalFile.Expr.Cast
Represents a cast expression of the form "
(T) e" where
T is the cast type and e the
casted expression. |
static class |
WyalFile.Expr.Constant
Represents the use of a constant within some expression.
|
static class |
WyalFile.Expr.Dereference |
static class |
WyalFile.Expr.Division
Represents an arithmetic division expression of the form
"
e1 / ... |
static class |
WyalFile.Expr.Equal
Represents an equality expression of the form
"
e1 == ... |
static class |
WyalFile.Expr.ExistentialQuantifier
Represents an unbounded existentially quantified expression of the
form "
some(T v1, ... |
static class |
WyalFile.Expr.GreaterThan
Represents a strict inequality expression of the form
"
e1 > ... |
static class |
WyalFile.Expr.GreaterThanOrEqual
Represents a non-strict inequality expression of the form
"
e1 >= ... |
static class |
WyalFile.Expr.InfixOperator |
static class |
WyalFile.Expr.Invoke
Represents an invocation of the form "
x.y.f(e1,..en)". |
static class |
WyalFile.Expr.Is
Represents a type test expression of the form
"
e is T" where e is the test
expression and T is the test type. |
static class |
WyalFile.Expr.LessThan
Represents a strict inequality expression of the form
"
e1 < ... |
static class |
WyalFile.Expr.LessThanOrEqual
Represents a non-strict inequality expression of the form
"
e1 <= ... |
static class |
WyalFile.Expr.LogicalAnd
Represents a logical conjunction of the form
"
e1 && .. |
static class |
WyalFile.Expr.LogicalIff
Represents a logical biconditional of the form
"
e1 <==> ... |
static class |
WyalFile.Expr.LogicalImplication
Represents a logical implication of the form
"
e1 ==> ... |
static class |
WyalFile.Expr.LogicalNot
Represents a logical negation of the form "
!e"
where e is the operand expression. |
static class |
WyalFile.Expr.LogicalOr
Represents a logical disjunction of the form
"
e1 || .. |
static class |
WyalFile.Expr.Multiplication
Represents an arithmetic multiplication expression of the form
"
e1 * ... |
static class |
WyalFile.Expr.Negation
Represents an arithmetic negation expression of the form
"
-e" where e is the operand
expression. |
static class |
WyalFile.Expr.NotEqual
Represents an unequality expression of the form
"
e1 != ... |
static class |
WyalFile.Expr.Operator
Represents an abstract operator expression over one or more
operand expressions.
|
static class |
WyalFile.Expr.Quantifier
Represents an abstract quantified expression of the form
"
forall(T v1, ... |
static class |
WyalFile.Expr.RecordAccess
Represents a record access expression of the form
"
rec.f" where rec is the source record
and f is the field. |
static class |
WyalFile.Expr.RecordInitialiser
Represents a record initialiser expression of the form
{ f1: e1, ..., fn: en } where f1: e1 ... |
static class |
WyalFile.Expr.RecordUpdate
Represents a record update expression of the form
"
rec[f:=e]" where rec is the source
record, f is the field and e is
the value expression. |
static class |
WyalFile.Expr.Remainder
Represents an arithmetic remainder expression of the form
"
e1 / ... |
static class |
WyalFile.Expr.Subtraction
Represents an arithmetic subtraction expression of the form
"
e1 - ... |
static class |
WyalFile.Expr.UniversalQuantifier
Represents an unbounded universally quantified expression of the form
"
forall(T v1, ... |
static class |
WyalFile.Expr.VariableAccess
Represents a use of some variable within an expression.
|
| Modifier and Type | Method and Description |
|---|---|
abstract WyalFile.Expr |
WyalFile.Expr.Operator.clone(wybs.lang.SyntacticItem[] operands) |
abstract WyalFile.Expr |
WyalFile.Expr.Quantifier.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.UniversalQuantifier.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.ExistentialQuantifier.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.LogicalAnd.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.LogicalOr.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.LogicalImplication.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.LogicalIff.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.LogicalNot.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Equal.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.NotEqual.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.LessThan.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.LessThanOrEqual.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.GreaterThan.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.GreaterThanOrEqual.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Addition.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Subtraction.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Multiplication.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Division.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Remainder.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Negation.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Dereference.clone(wybs.lang.SyntacticItem[] operands) |
WyalFile.Expr |
WyalFile.Expr.Operator.get(int i) |
WyalFile.Expr[] |
WyalFile.Expr.Operator.getAll() |
WyalFile.Expr |
WyalFile.Expr.Quantifier.getBody() |
WyalFile.Expr |
WyalFile.Expr.Cast.getCastedExpr() |
WyalFile.Expr |
WyalFile.Expr.ArrayGenerator.getLength() |
WyalFile.Expr |
WyalFile.Expr.LogicalNot.getOperand() |
WyalFile.Expr |
WyalFile.Expr.Negation.getOperand() |
WyalFile.Expr |
WyalFile.Expr.Dereference.getOperand() |
WyalFile.Expr |
WyalFile.Expr.ArrayAccess.getSource() |
WyalFile.Expr |
WyalFile.Expr.ArrayUpdate.getSource() |
WyalFile.Expr |
WyalFile.Expr.ArrayLength.getSource() |
WyalFile.Expr |
WyalFile.Expr.RecordAccess.getSource() |
WyalFile.Expr |
WyalFile.Expr.RecordUpdate.getSource() |
WyalFile.Expr |
WyalFile.Expr.ArrayAccess.getSubscript() |
WyalFile.Expr |
WyalFile.Expr.ArrayUpdate.getSubscript() |
WyalFile.Expr |
WyalFile.Expr.Is.getTestExpr() |
WyalFile.Expr |
WyalFile.Expr.ArrayUpdate.getValue() |
WyalFile.Expr |
WyalFile.Expr.ArrayGenerator.getValue() |
WyalFile.Expr |
WyalFile.Expr.RecordUpdate.getValue() |
| Modifier and Type | Method and Description |
|---|---|
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Expr> |
WyalFile.Expr.Invoke.getArguments() |
| Constructor and Description |
|---|
Invoke(WyalFile.Type.FunctionOrMacroOrInvariant type,
wybs.util.AbstractCompilationUnit.Name name,
wybs.util.AbstractCompilationUnit.Value.Int selector,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Expr> arguments) |
| Modifier and Type | Method and Description |
|---|---|
protected Object |
Interpreter.evaluateExpression(WyalFile.Expr expr,
Interpreter.Environment environment) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
Formula
A special kind of expression which maintains a normal form representation.
|
static interface |
Formula.ArithmeticEquation |
static interface |
Formula.Equation |
| Modifier and Type | Class and Description |
|---|---|
static class |
Formula.ArithmeticEquality |
static class |
Formula.Conjunct |
static class |
Formula.Disjunct |
static class |
Formula.Equality |
static class |
Formula.Inequality |
static class |
Formula.Invoke |
static class |
Formula.Is |
static class |
Formula.Quantifier |
static class |
Formula.Truth |
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Expr |
Formula.Equation.get(int i) |
WyalFile.Expr |
Formula.ArithmeticEquation.get(int i) |
WyalFile.Expr[] |
Formula.Equation.getAll() |
WyalFile.Expr[] |
Formula.ArithmeticEquation.getAll() |
| Constructor and Description |
|---|
ArithmeticEquality(boolean sign,
WyalFile.Expr lhs,
WyalFile.Expr rhs) |
Equality(boolean sign,
WyalFile.Expr[] arr) |
Equality(boolean sign,
WyalFile.Expr lhs,
WyalFile.Expr rhs) |
Inequality(WyalFile.Expr lhs,
WyalFile.Expr rhs) |
Invoke(boolean sign,
WyalFile.Type.FunctionOrMacroOrInvariant type,
wybs.util.AbstractCompilationUnit.Name name,
Integer selector,
WyalFile.Expr... arguments) |
Is(WyalFile.Expr lhs,
WyalFile.Type rhs) |
| Constructor and Description |
|---|
Invoke(boolean sign,
WyalFile.Type.FunctionOrMacroOrInvariant type,
wybs.util.AbstractCompilationUnit.Name name,
wybs.util.AbstractCompilationUnit.Value.Int selector,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Expr> arguments) |
| Modifier and Type | Method and Description |
|---|---|
wybs.util.AbstractCompilationUnit.Pair<WyalFile.Expr,WyalFile.Expr> |
Simplification.normaliseBounds(WyalFile.Expr lhs,
WyalFile.Expr rhs)
Normalise bounds of an equation to be positive.
|
wybs.util.AbstractCompilationUnit.Pair<WyalFile.Expr,WyalFile.Expr> |
Simplification.normaliseBounds(WyalFile.Expr lhs,
WyalFile.Expr rhs)
Normalise bounds of an equation to be positive.
|
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Expr |
CongruenceClosure.localConstruct(Proof.Delta.Set existingTruths,
Proof.State head,
WyalFile.Expr term,
Formula newTruth,
List<Formula> dependencies) |
static WyalFile.Expr |
CongruenceClosure.max(WyalFile.Expr lhs,
WyalFile.Expr rhs) |
static WyalFile.Expr |
CongruenceClosure.min(WyalFile.Expr lhs,
WyalFile.Expr rhs) |
wybs.util.AbstractCompilationUnit.Pair<WyalFile.Expr,WyalFile.Expr> |
Simplification.normaliseBounds(WyalFile.Expr lhs,
WyalFile.Expr rhs)
Normalise bounds of an equation to be positive.
|
WyalFile.Expr |
Simplification.simplifyExpression(WyalFile.Expr e)
Convert an arbitrary expression to an atom.
|
WyalFile.Expr[] |
Simplification.simplifyExpressions(WyalFile.Expr[] children) |
| Constructor and Description |
|---|
Assignment(WyalFile.Expr lhs,
WyalFile.Expr rhs,
Formula dep) |
| Modifier and Type | Method and Description |
|---|---|
static <T extends WyalFile.Expr> |
AbstractProofRule.extractDefinedTerms(wybs.lang.SyntacticItem item,
int kind,
Formula.Quantifier... stack)
Search through a given syntactic item looking for matching ground terms
which are guaranteed to be defined in the given state.
|
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Expr[] |
Arithmetic.Polynomial.Term.getAtoms() |
WyalFile.Expr |
Arithmetic.Polynomial.toExpression() |
WyalFile.Expr |
Arithmetic.Polynomial.Term.toExpression() |
| Modifier and Type | Method and Description |
|---|---|
static Arithmetic.Polynomial |
Arithmetic.asPolynomial(WyalFile.Expr e) |
static Formula.Inequality |
Formulae.greaterOrEqual(WyalFile.Expr lhs,
WyalFile.Expr rhs) |
static Formula.Inequality |
Formulae.lessThan(WyalFile.Expr lhs,
WyalFile.Expr rhs) |
| Modifier and Type | Method and Description |
|---|---|
Formula |
TypeSystem.extractInvariant(WyalFile.Type type,
WyalFile.Expr root)
Extracting the invariant (if any) from a given type.
|
WyalFile.Type |
TypeInferer.getInferredType(TypeInferer.Environment environment,
WyalFile.Expr expression)
Get the type inferred for a given expression in a given environment.
|
WyalFile.Type |
TypeSystem.inferType(TypeInferer.Environment environment,
WyalFile.Expr expression)
Get the type inferred for a given expression in a given environment.
|
| Modifier and Type | Method and Description |
|---|---|
Formula |
TypeInvariantExtractor.extract(WyalFile.Type type,
WyalFile.Expr root) |
Formula |
TypeInvariantExtractor.extractTypeInvariantInner(WyalFile.Type type,
WyalFile.Expr root,
HashSet<WyalFile.Type> visited) |
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Type |
StdTypeInfererence.getInferredType(TypeInferer.Environment environment,
WyalFile.Expr expression) |
protected WyalFile.Type |
StdTypeInfererence.inferExpression(TypeInferer.Environment environment,
WyalFile.Expr expr) |
Copyright © 2017. All rights reserved.