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)