ilan bazı belirli bir sonuç/x çiftleri için basit bir "sonuç x = * t + c" formülündeki C ve T katsayıları bulmak istiyoruz:(Z3Py) işlevini
from z3 import *
x=Int('x')
c=Int('c')
t=Int('t')
s=Solver()
f = Function('f', IntSort(), IntSort())
# x*t+c = result
# x, result = [(1,55), (12,34), (13,300)]
s.add (f(x)==(x*t+c))
s.add (f(1)==55, f(12)==34, f(13)==300)
t=s.check()
if t==sat:
print s.model()
else:
print t
... ama sonuç açıkça yanlıştır. Muhtemelen fonksiyon argümanlarını nasıl haritalayacağımı bulmalıyım.
İşlev nasıl doğru tanımlamalıyım?
olası eşdeğeri [Z3 API'sında define eşdeğeri eşdeğeri] (http://stackoverflow.com/questions/7740556/equivalent-of-define-fun-in-z3-api) – usr