你知道一個我可以用來比較約束(不僅是數學)的工具嗎?這是更容易的例子來解釋:約束比較器
A)簡單的例子
C1: x < 0 && y * y < x
C2: x < 0 && y * y < x - 1
我想知道,如果C2是強則C1,它是。這意味着C2的(x,y)也在C1中。
B)複雜的例子
C1: x > 0 && y > 0
C2: x > 0
C2較弱則C1,因爲它不含有Y上的約束。
我可以試着手寫東西,但我不認爲這是一個解決方案。我知道解決約束的問題是不可判定的,但我想知道在這方面做了哪些工作。
謝謝,
出於好奇,在什麼情況下你可能需要這樣做? – Nobody 2010-08-18 11:03:15
我正在研究分析代碼庫並生成一些報告的項目。例如private foo(int x){if(x <0)拋出new RuntimeException(); }它從bar(){return foo(2 * x); }。我試圖在bar()中報告,在不滿足前提條件的情況下調用方法(對於foo(),x> = 0)。如果bar是{if(x <0)x = -x;返回foo(2 * x); }那麼一切都會好的。 – 2010-08-18 11:09:11