kdrag.theories.univ
Module Attributes
Type1 = kd.Inductive("Type1") Type1.declare("Type0", ("type0", Type0)) Type1.declare("Seq", ("seq", Type1)) Type1Sort = smt.DatatypeSort("Type1") # We could have deeper recursion at the same universe level # Type1.declare( # "Array", ("array", smt.ArraySort(smt.ArraySort(Type1Sort, Type0), Type1Sort)) # ) Type1.declare("Array", ("array", smt.ArraySort(Type0, Type1Sort))) Type1 = Type1.create() |
Functions
|
|
|
A generic value type at universe level l. |
- kdrag.theories.univ.Int(l: int) QuantifierRef
>>> Int(0) Lambda(x, is(Int, x)) >>> Int(1) Lambda(x, And(is(Type0, x), is(Int, type0(x))))
- Parameters:
l (int)
- Return type:
QuantifierRef
- kdrag.theories.univ.Real0 = Lambda(x, is(Real, x))
Type1 = kd.Inductive(“Type1”) Type1.declare(“Type0”, (“type0”, Type0)) Type1.declare(“Seq”, (“seq”, Type1)) Type1Sort = smt.DatatypeSort(“Type1”) # We could have deeper recursion at the same universe level # Type1.declare( # “Array”, (“array”, smt.ArraySort(smt.ArraySort(Type1Sort, Type0), Type1Sort)) # ) Type1.declare(“Array”, (“array”, smt.ArraySort(Type0, Type1Sort))) Type1 = Type1.create()
- kdrag.theories.univ.Type(l: int) DatatypeSortRef
A generic value type at universe level l. >>> Type(1) Type1
- Parameters:
l (int)
- Return type:
DatatypeSortRef