kdrag.theories.algebra.vector
Module Attributes
V.smul = smt.Function("smul", V, smt.RealSort(), V) kd.notation.mul.register(V, smul) x, y = smt.Reals("x y") |
Classes
|
|
|
- class kdrag.theories.algebra.vector.Normed(*L)
Bases:
TypeClass
https://en.wikipedia.org/wiki/Normed_vector_space
- assert_eq(a, b)
- check(T)
- classmethod get_registry() dict
- Return type:
dict
- key: SortRef
- classmethod lookup(*L)
- norm: FuncDeclRef
- classmethod register(*L, **kwargs)
- class kdrag.theories.algebra.vector.VectorSpace(*L)
Bases:
TypeClass
- assert_eq(a, b)
- check(T)
- classmethod get_registry() dict
- Return type:
dict
- key: SortRef
- classmethod lookup(*L)
- classmethod register(*L, **kwargs)
- scalar: SortRef
- smul: FuncDeclRef
- zero: ExprRef
- kdrag.theories.algebra.vector.zero_add = |= ForAll(u, vadd(zero, u) == u)
V.smul = smt.Function(“smul”, V, smt.RealSort(), V) kd.notation.mul.register(V, smul) x, y = smt.Reals(“x y”)
smul_one = kd.axiom(smt.ForAll([u], u * 1 == u))
# Possible design for theories. vadd = kd.notation.SortDispatch() vadd_assoc = {V: add_assoc} vadd_comm = {V: add_comm}
vzero = {V: zero} vadd_zero = {V: add_zero}
- Parameters:
args (smt.ExprRef | Proof)