MCPcopy Create free account
hub / github.com/BasisResearch/lean.py / TupleSort

Function TupleSort

lean_py/z3/core.py:1290–1300  ·  view source on GitHub ↗

Create a tuple sort. Returns (sort, constructor, list_of_accessor_FuncDeclRefs). z3py compat: ctor name = sort name, accessors named project0, project1, ...

(name: str, sorts: list[SortRef] | tuple[SortRef, ...])

Source from the content-addressed store, hash-verified

1288
1289
1290def TupleSort(name: str, sorts: list[SortRef] | tuple[SortRef, ...]) -> tuple:
1291 """Create a tuple sort.
1292
1293 Returns (sort, constructor, list_of_accessor_FuncDeclRefs).
1294 z3py compat: ctor name = sort name, accessors named project0, project1, ...
1295 """
1296 b = _DatatypeBuilder(name)
1297 fields = [(f"project{i}", s) for i, s in enumerate(sorts)]
1298 b.declare(name, *fields)
1299 sort = b.create()
1300 return sort, sort.constructor(0), [sort.accessor(0, i) for i in range(len(sorts))]
1301
1302
1303# ---------------------------------------------------------------------------

Callers 5

test_create_tupleMethod · 0.90
test_tuple_accessorsMethod · 0.90
test_triple_sortMethod · 0.90

Calls 5

_DatatypeBuilderClass · 0.85
declareMethod · 0.80
createMethod · 0.80
constructorMethod · 0.80
accessorMethod · 0.80

Tested by 5

test_create_tupleMethod · 0.72
test_tuple_accessorsMethod · 0.72
test_triple_sortMethod · 0.72