Add getId function to python API (#6523)

(Z3 exposes it to facilitate custom hashes)
This commit is contained in:
Alex Ozdemir
2021-05-14 04:34:38 -07:00
committed by GitHub
parent ce851ed5ae
commit bcd2e8e2fd
2 changed files with 36 additions and 0 deletions

View File

@@ -29,6 +29,7 @@ set(EXAMPLES_API_PYTHON
sygus-fun
sygus-grammar
sygus-inv
id
)
find_package(PythonInterp ${CVC5_BINDINGS_PYTHON_VERSION} REQUIRED)

35
examples/api/python/id.py Normal file
View File

@@ -0,0 +1,35 @@
#!/usr/bin/env python
###############################################################################
# Top contributors (to current version):
# Alex Ozdemir
#
# This file is part of the cvc5 project.
#
# Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
# in the top-level source directory and their institutional affiliations.
# All rights reserved. See the file COPYING in the top-level source
# directory for licensing information.
# #############################################################################
#
# A simple demonstration of the getId function exposed by the cvc5 terms python
# API
##
import pycvc5
from pycvc5 import kinds
if __name__ == "__main__":
slv = pycvc5.Solver()
integer = slv.getIntegerSort()
set_ = slv.mkSetSort(integer)
A = slv.mkConst(set_, "A")
B = slv.mkConst(set_, "B")
C = slv.mkConst(set_, "C")
assert A.getId() != B.getId()
assert C.getId() != B.getId()
assert A.getId() == A.getId()
assert B.getId() == B.getId()
assert C.getId() == C.getId()