kdrag.theories.real

Definitions about the reals.

Transcendental functions and bounds.

Functions

abstract_arith(t)

Z3 has difficult ematching over arithmetic expressions.

rlemma(thm[, by])

sin_lower(n, x)

sqrt_bnd(n)

sqrt_lower(n, x)

sqrt_upper(x, n)

Classes

Add()

AddAssoc

alias of Add

AddComm

alias of Add

AddId

alias of Add

Mul()

MulAssoc

alias of Mul

class kdrag.theories.real.Add

Bases: object

assoc = |= ForAll([x, y, z], add(x, add(y, z)) == add(add(x, y), z))
Parameters:

args (smt.ExprRef | Proof)

comm = |= ForAll([x, y], add(x, y) == add(y, x))
Parameters:

args (smt.ExprRef | Proof)

e = 0
f = add
left_id = |= ForAll(x, add(0, x) == x)
Parameters:

args (smt.ExprRef | Proof)

right_id = |= ForAll(x, add(x, 0) == x)
Parameters:

args (smt.ExprRef | Proof)

kdrag.theories.real.AddAssoc

alias of Add

kdrag.theories.real.AddComm

alias of Add

kdrag.theories.real.AddId

alias of Add

class kdrag.theories.real.Mul

Bases: object

assoc = |= ForAll([x, y, z], mul(x, mul(y, z)) == mul(mul(x, y), z))
Parameters:

args (smt.ExprRef | Proof)

comm = |= ForAll([x, y], mul(x, y) == mul(y, x))
Parameters:

args (smt.ExprRef | Proof)

e = 1
f = mul
left_id = |= ForAll(x, mul(1, x) == x)
Parameters:

args (smt.ExprRef | Proof)

right_id = |= ForAll(x, mul(x, 1) == x)
Parameters:

args (smt.ExprRef | Proof)

kdrag.theories.real.MulAssoc

alias of Mul

kdrag.theories.real.abstract_arith(t: ExprRef) ExprRef

Z3 has difficult ematching over arithmetic expressions. Abstracting them to uninterpreted functions can help.

Parameters:

t (ExprRef)

Return type:

ExprRef

kdrag.theories.real.rlemma(thm, by=[], **kwargs)
kdrag.theories.real.sin_lower(n, x)
kdrag.theories.real.sqrt_bnd(n)
kdrag.theories.real.sqrt_lower(n, x)
kdrag.theories.real.sqrt_upper(x, n)

Modules

analysis

arb

complex

extended

geometry

interval

ndarray

seq

sympy

vec