เดเดชเดเดพเดฐเดฟเด เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเด เดเดจเตเดจเดคเต เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฎเดฑเตเดฑเตเดจเตเดจเต เดเดชเดฏเตเดเดฟเดเตเดเต เด เตฝเดเตเดฐเดฟเดคเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดฑเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดพเดฃเต.
เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดฒเต เดเดฒเตเดฒเดพ เดเตเดเตเดชเดพเดเตเดเดณเตเด เดเดฃเตเดเตเดคเตเดคเดพเดจเต เด เดต เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเตเดจเตเดจเต เดคเตเดณเดฟเดฏเดฟเดเตเดเดพเดจเต เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดเดฑเตเดฑเดตเตเด เดถเดเตเดคเดฎเดพเดฏ เดฐเตเดคเดฟเดเดณเดฟเตฝ เดเดจเตเดจเดพเดฃเดฟเดคเต.
เดเดชเดเดพเดฐเดฟเด เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต เดเตเดเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเดฃเด เดชเตเดฐเดถเตเดจเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดเดพเดฃเดพเด
เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดเดพเตป เดชเตเดฐเดถเตเดจเดเตเดเดณเตเดเต เดเดชเดเดพเดฐเดฟเด เดชเดฐเดฟเดถเตเดงเดจเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฐเตเดเตเดฐเดพเดฎเตเดเดณเดฟเดฒเตเดเตเดเต เดจเตเดเตเดเตเดเดฏเตเด เดเดเตเดเดจเตเดฏเตเดจเตเดจเต เดตเดฟเดตเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต
เด
เดต เดเดเตเดเดจเต เดธเตเดตเดฏเดฎเตเดต เดเดชเดเดพเดฐเดฟเด เดจเดฟเดฏเดฎ เดธเดเดตเดฟเดงเดพเดจเดเตเดเดณเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเดพเด.
เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดชเตเดฐเดคเตเดเดพเดคเตเดฎเด เดคเดคเตเดตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดพเตป เดเดฐเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเตเดฑเต เดธเตเดตเดจเตเดคเด เด เดจเดฒเตเดเต เดเดดเตเดคเดฟ.
เดเดคเต เดชเตเดฐเตเดเตเดฐเดพเด เดเตเดกเต เดชเดพเดดเตโเดธเต เดเตเดฏเตเดฏเตเดเดฏเตเด เด เดคเดฟเดจเต เดเดฐเต เดธเดฎเดตเดพเดเตเดฏ เดธเดเดตเดฟเดงเดพเดจเดคเตเดคเดฟเดฒเตเดเตเดเต (SMT) เดตเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต, เด เดคเต เดเดคเดฟเดจเดเด เดคเดจเตเดจเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดพเดฑเตเดฑเดฟเดเต เดเดฏเดฟ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
เดเตปเดฑเตผเดจเตเดฑเตเดฑเดฟเตฝ เดชเตเดฐเดคเตเดเดพเดคเตเดฎเด เดเดฃเดเตเดเตเดเตเดเตเดเดฒเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดถเดฟเดฅเดฟเดฒเดฎเดพเดฏเดฟ เด
เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ,
เด
เดคเต เดเดจเตเดคเดพเดฃเตเดจเตเดจเต เดเดพเตป เดเตเดฐเตเดเตเดเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดเตเดเตเด.
เดธเดฟเดเดฌเตเดณเดฟเดเต เดเดเดชเตเดฏเตเดเตเดเตเดทเตป เดเดจเตเดจเดคเต เดตเดฟเดถเดพเดฒเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเด เดเดฐเตเดธเดฎเดฏเด เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดฎเดพเตผเดเดฎเดพเดฃเต, เดเตเดเดพเดคเต เดเดชเดเดพเดฐเดฟเด เดชเตเดฐเตเดเตเดฐเดพเด เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดงเดพเดจ เดเดชเดเดฐเดฃเดตเตเดฎเดพเดฃเต.
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดฆเตเดฏเดคเตเดคเต เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเดฟเดจเต เดเดคเตเดเตเดเดฟเดฒเตเด เดชเตเดธเดฟเดฑเตเดฑเตเดตเต เดฎเตเดฒเตเดฏเดเตเดเตพ เดเดเตเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดเตปเดชเตเดเตเดเต เดตเตเดฏเดตเดธเตเดฅเดเตพ, เดฐเดฃเตเดเดพเดฎเดคเตเดคเต เดจเตเดเดฑเตเดฑเตเดตเต, เดฎเตเดจเตเดจเดพเดฎเดคเตเดคเต เดชเตเดเตเดฏเด, เดเดเตเดเตเดชเตเดเตเดเต เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, 42 เดเดจเตเดจเดฟเดต เดธเดเตเดเตเดเดฐเดฟเดเตเดเดพเด.
เดเดฐเต เดฑเดฃเตเดฃเดฟเดฒเต เดชเตเดฐเดคเตเดเดพเดคเตเดฎเด เดเดฃเดเตเดเตเดเตเดเตเดเดฒเตเดเตพ เดจเดฎเตเดเตเดเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดซเดฒเด เดจเตเดเดพเตป เดเดดเดฟเดฏเตเดฎเต เดเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดคเตเดคเดฐเดตเตเด เด เดคเตเดคเดฐเด เดเตปเดชเตเดเตเดเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเดเต เดเดฐเต เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต เดเดฆเดพเดนเดฐเดฃเดตเตเด เดจเตฝเดเตเด. เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เด เดคเตเดคเดฐเด เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดเดฒเตเดฒ เดเดจเตเดจเดคเดฟเดจเตเดฑเต เดคเตเดณเดฟเดตเต.
เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดธเดพเดงเตเดฏเดฎเดพเดฏ เดเดฒเตเดฒเดพ เดเดพเดฐเตเดฏเดเตเดเดณเดฟเดฒเตเด เดจเดฎเตเดเตเดเต เดเตปเดชเตเดเตเดเต เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเตเดเตพ เดธเดเตเดเดฎเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเด, เดเตเดเดพเดคเต เดเดเตเดเตเดชเตเดเตเดเต เดฎเดพเดคเตเดฐเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเตผ เดชเดพเดธเตเดตเตเดกเต.
เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต เดเดฒเตเดฒเดพ เดเตเดเตเดชเดพเดเตเดเดณเตเด เดเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เด เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเดฑเตเดเต เดชเดพเดธเตโเดตเตเดกเต เดธเตเดฐเดเตเดทเดฟเดคเดฎเดพเดฃเตเดจเตเดจเดคเดฟเดจเต เดคเตเดณเดฟเดตเต เดฒเดญเดฟเดเตเดเตเด.
เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดเตปเดชเตเดเตเดเต เดกเดพเดฑเตเดฑเดฏเตเดณเตเดณ เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต เดเตเดฒเดพเดธเดฟเดเตเดเตฝ เดเดเตเดธเดฟเดเตเดฏเตเดทเตป เดชเตเดฐเดคเตเดเดพเดคเตเดฎเด เดจเดฟเตผเดตเตเดตเดนเดฃเดคเตเดคเดฟเดจเตเดฑเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดเตเดธเดพเดฃเตเดจเตเดจเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเดพเดตเตเดจเตเดจเดคเดพเดฃเต.
เด เดคเดฟเดจเดพเตฝ, เดเดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเตเดฑเต เดเดฎเตเดฒเตเดทเตป เดฎเตเดกเดฟเดฒเตเด เดเดจเตเดฑเต เดชเตเดฐเดคเตเดเด VM เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
เดฎเตเดฎเตเดชเดคเตเดคเต เดฒเตเดเดจเดคเตเดคเดฟเดฒเต เด เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเดณเดฟเตฝ, เดเดชเดเดพเดฐเดฟเดเดฎเดพเดฏ เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดจเตเดฏเดพเดฏเดฎเดพเดฏ เดตเดฟเดฎเตผเดถเดจเด เด เดคเดฟเดจเตเดฑเต เดฆเตเตผเดฌเดฒเตเดฏเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเตผเดเตเดเดฏเตเด เดเดฃเตเดเตเดคเตเดคเดพเดจเดพเดเตเด.
เดชเตเดฐเดงเดพเดจ เดชเตเดฐเดถเตเดจเดเตเดเตพ เดเดตเดฏเดพเดฃเต:
- เดเดชเดเดพเดฐเดฟเดเดฎเดพเดฏ เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเด เดเดคเตเดฏเดจเตเดคเดฟเดเดฎเดพเดฏเดฟ P=NP เดฒเตเดเตเดเต เดตเดฐเตเดจเตเดจเดคเดฟเดจเดพเตฝ เดธเดเดฏเตเดเดฟเดค เดธเตเดซเตเดเดจเด
- เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด, เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเตเดเตพ, เดฎเดฑเตเดฑเต เดฌเดพเดนเตเดฏ เดธเดเดญเดฐเดฃเด เดเดจเตเดจเดฟเดตเดฏเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเตเดณเตเดเตพ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเดคเต เดเตเดเตเดคเตฝ เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเดพเดฃเต
- เดธเตเดชเตเดธเดฟเดซเดฟเดเตเดเตเดทเดจเดฟเดฒเต เดฌเดเตเดเตพ, เดเดชเดญเตเดเตเดคเดพเดตเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฑเต เดเดฐเต เดเดพเดฐเตเดฏเด เดเดฆเตเดฆเตเดถเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดจเตเดจเดพเตฝ เดธเดพเดเตเดเตเดคเดฟเด เดธเตเดชเตเดธเดฟเดซเดฟเดเตเดเตเดทเดจเดฟเตฝ เด เดคเต เดตเตเดฃเตเดเดคเตเดฐ เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดเตเดเดฟเดฒเตเดฒ.
เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดชเตเดฐเตเดเตเดฐเดพเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดฑเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดธเตเดชเตเดธเดฟเดซเดฟเดเตเดเตเดทเดจเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด, เดเดจเตเดจเดพเตฝ เดธเตเดฐเดทเตโเดเดพเดเตเดเตพ เด เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดฟเดเดเตเดเตเด เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเตเดฏเตเดฏเตเด.
เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ, เดชเตเดฐเดพเดฏเตเดเดฟเดเดฎเดพเดฏเดฟ เดเดชเดเดพเดฐเดฟเดเดฎเดพเดฏ เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต เดเดชเดฏเตเดเด เดเดพเตป เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด เดชเดฐเดฟเดเดฃเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดเดพเตป เดเดชเตเดชเตเตพ เดเตเดตเดฐเดฟเตฝ เดคเดฒ เดเตเดจเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ, เดเตเดเดพเดคเต เด เตฝเดเตเดฐเดฟเดคเด เดธเดเตเดเตเตผเดฃเตเดฃเดคเดฏเตเด เดฌเดพเดนเตเดฏ เดเตเดณเตเดเดณเตเดเต เดเดฃเตเดฃเดตเตเด เดเตเดฑเดตเตเดณเตเดณ เดเดฐเต เดธเดฟเดธเตเดฑเตเดฑเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด.
เดธเตโเดฎเดพเตผเดเตเดเต เดเดฐเดพเดฑเตเดเตพ เด เดเดตเดถเตเดฏเดเดคเดเตพเดเตเดเต เดเดฑเตเดฑเดตเตเด เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏเดคเดฟเดจเดพเตฝ, เดตเตเดตเตเดธเต เดชเตเดฒเดพเดฑเตเดฑเตโเดซเตเดฎเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฑเตเดกเต เดเดฐเดพเดฑเตเดเดณเดฟเตฝ เดเตเดฏเตโเดธเต เดตเดจเตเดจเต: เด เดต เดเตเดฏเตเดฑเดฟเดเดเต เดชเตเตผเดคเตเดคเดฟเดฏเดพเดฏเดฟเดเตเดเดฟเดฒเตเดฒ, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด เดตเดฏเตเดเต เดชเดฐเดฎเดพเดตเดงเดฟ เดธเดเตเดเตเตผเดฃเตเดฃเดค เดเตเดคเตเดฐเดฟเดฎเดฎเดพเดฏเดฟ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เดเดจเตเดจเดพเตฝ เดเดเตเดเตพ เด เดต เดธเดพเดเตเดเตเดคเดฟเด เดตเดถเดคเตเดคเตเดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟ เดชเดฐเดฟเดเดฃเดฟเดเตเดเตเด.
เดเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเด เดชเตเดฑเดฎเต, เดเดคเตเดเตเดเดฟเดฒเตเด เดเดฐเดพเดฑเตเดเตพเดเตเดเดพเดฏเดฟ เดเดชเดเดพเดฐเดฟเด เดธเตเดฅเดฟเดฐเตเดเดฐเดฃเด เดชเตเดฐเดคเตเดฏเตเดเดฟเดเตเดเตเด เดเดตเดถเตเดฏเดเตเดเดพเดฐเดพเดฏเดฟเดฐเดฟเดเตเดเตเด: เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเดคเดฟเดจเต เดถเตเดทเด เดเดฐเต เดเดฐเดพเตผ เดชเดฟเดถเดเต เดคเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด
เดธเดพเดงเตเดฏเดฎเดพเดฃเต.
เด
เดคเตเดคเดฐเด เดชเดฟเดถเดเตเดเดณเตเดเต เดตเดฟเดฒ เดตเดณเดฐเต เดเดฏเตผเดจเตเดจเดคเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เดเดพเดฐเดฃเด เดตเดณเดฐเต เดตเดฒเดฟเดฏ เด
เดณเดตเดฟเดฒเตเดณเตเดณ เดซเดฃเตเดเตเดเตพ เดชเดฒเดชเตเดชเตเดดเตเด เดธเตเดฎเดพเตผเดเตเดเต เดเดฐเดพเดฑเตเดเดณเดฟเตฝ เดธเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต.
เดเดจเตเดฑเต เดธเดฟเดเดฌเตเดณเดฟเดเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเตป PHP, Python เดเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดเดดเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดเดพเดเตเดจเตเดจ SMT เดซเตเตผเดฎเตเดฒเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเตป Microsoft เดฑเดฟเดธเตผเดเตเดเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ Z3Prover เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต.
เด
เดคเดฟเดจเตเดฑเต เดเดพเดคเตฝ เดถเดเตเดคเดฎเดพเดฏ เดเดฐเต เดฎเตพเดเตเดเดฟ-เดเดเดชเดพเดเต เดคเดฟเดฐเดฏเดฒเดพเดฃเต, เด
เดคเต
เดจเดฟเดฐเดตเดงเดฟ เดเดเดชเดพเดเตเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเดพเดฒเตเด, เดชเดฐเดฟเดนเดพเดฐเดเตเดเดณเต เดเตเดเตเดชเดพเดเตเดเดณเต เดเดฃเตเดเตเดคเตเดคเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดชเตเดฒเตเด
เดเดจเตเดจเดพเตฝ เดเดคเตผ เดเดฐเดพเดฑเตเดเตพ เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดตเตเด เดเตเดฏเตเดฑเดฟเดเดเต เดชเตเตผเดฃเตเดฃเดตเตเดฎเดพเดฃเต เดเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดฃเตเดเดคเดพเดฃเต.
RIDE เดธเตโเดฎเดพเตผเดเตเดเต เดเดฐเดพเดฑเดฟเดจเตเดฑเต เดธเตเดดเตโเดธเต เดเตเดกเต เดเดฐเต เดชเตเดคเตเดคเตบ เดธเตโเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต PHP เดตเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเต, เด เดคเดฟเตฝ เดชเตเดฐเตเดเตเดฐเดพเด Z3 SMT-เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดเตเตบเดเตเดฐเดพเดเตเดเต เดธเตเดฑเตเดฑเตเดฑเตเดฑเตเดเดณเตเด เด เดตเดฏเตเดเต เดธเดเดเตเดฐเดฎเดฃเดคเตเดคเดฟเดจเตเดณเตเดณ เดตเตเดฏเดตเดธเตเดฅเดเดณเตเด เดเดฏเดฟ เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต:
เดเดณเตเดณเดฟเตฝ เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดเดชเตเดชเตเตพ เดเดพเตป เดเตเดเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดเตเดเตเด.
เดเดจเตเดจเดพเตฝ เดเดฆเตเดฏเด, เดฑเตเดกเต เดธเตเดฎเดพเตผเดเตเดเต เดเดฐเดพเตผ เดญเดพเดทเดฏเตเดเตเดเตเดฑเดฟเดเตเดเต เดเตเดฑเดเตเดเต เดตเดพเดเตเดเตเดเตพ.
เดฐเตเดชเดเดฒเตเดชเดจเดฏเดฟเตฝ เด
เดฒเดธเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดชเดฐเดตเตเด เดเดตเดฟเดทเตเดเดพเดฐเดคเตเดคเต เด
เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟเดฏเตเดณเตเดณเดคเตเดฎเดพเดฏ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดฏเดพเดฃเดฟเดคเต.
เดฌเตเดฒเตเดเตเดเตโเดเตเดฏเดฟเดจเดฟเดจเตเดณเตเดณเดฟเตฝ เดเดฑเตเดฑเดชเตเดชเตเดเตเด เดจเดฟเดฒเดฏเดฟเดฒเดพเดฃเต RIDE เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต, เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดฑเต เดตเดพเดฒเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดฒเดฟเดเตเดเต เดเตเดฏเตโเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดธเตเดฑเตเดฑเตเดฑเตเดเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฟเดตเดฐเดเตเดเตพ เดตเตเดฃเตเดเตเดเตเดเตเดเดพเดจเตเด เดเดดเตเดคเดพเดจเตเด เดเดดเดฟเดฏเตเด.
เดเดฐเต เดตเดพเดฒเดฑเตเดฑเดฟเดฒเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดฑเตเดกเต เดเดฐเดพเตผ เด เดฑเตเดฑเดพเดเตเดเตเดเตเดฏเตเดฏเดพเด, เดเตเดเดพเดคเต เดจเดฟเตผเดตเตเดตเดนเดฃเดคเตเดคเดฟเดจเตเดฑเต เดซเดฒเด เดถเดฐเดฟเดฏเต เดคเตเดฑเตเดฑเต เดเดฏเดฟเดฐเดฟเดเตเดเตเด.
TRUE เด
เตผเดคเตเดฅเดฎเดพเดเตเดเตเดจเตเดจเดคเต เดธเตโเดฎเดพเตผเดเตเดเต เดเดฐเดพเตผ เดเดเดชเดพเดเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต, FALSE เดเดจเตเดจเดพเตฝ เด
เดคเต เดจเดฟเดฐเตเดงเดฟเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดพเดฃเต.
เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดฆเดพเดนเดฐเดฃเด: เดตเดพเดฒเดฑเตเดฑเต เดฌเดพเดฒเตปเดธเต 100-เตฝ เดเตเดฑเดตเดพเดฃเตเดเตเดเดฟเตฝ เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเต เดเดฐเต เดเตเดฎเดพเดฑเตเดฑเด เดจเดฟเดฐเตเดงเดฟเดเตเดเดพเดจเดพเดเตเด.
เดเดฐเต เดเดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ, เดเดพเตป เด เดคเต เดตเตเตพเดซเต, เดเดเต, เดเดพเดฌเตเดเต เดเดจเตเดจเดฟเดต เดเดเตเดเตเดเตเด, เดชเดเตเดทเต เดเดคเดฟเดจเดเด เดเดฐเต เดธเตเดฎเดพเตผเดเตเดเต เดเดฐเดพเดฑเดฟเดจเตเดฑเต เดฐเตเดชเดคเตเดคเดฟเตฝ เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเต.
เดเดฒเตเดฒเดพเดตเดฐเตเดฏเตเด เดฎเดฑเตเดตเดถเดคเตเดคเตเดเตเดเต เด เดฏเดเตเดเตเดจเตเดจเดคเตเดตเดฐเต, เดเดฐเดพเตผ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดตเดพเดฒเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เดชเดฃเด เดชเดฟเตปเดตเดฒเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ.
#ะะทะฒะปะตะบะฐะตะผ ะฟะพะปะพะถะตะฝะธะต ะฒัะตั
ะพะฑัะตะบัะพะฒ ะธะท ะฑะปะพะบัะตะนะฝะฐ
let contract = tx.sender
let human= extract(getInteger(contract,"human"))
let wolf= extract(getInteger(contract,"wolf"))
let goat= extract(getInteger(contract,"goat"))
let cabbage= extract(getInteger(contract,"cabbage"))
#ะญัะพ ัะฐะบ ะฝะฐะทัะฒะฐะตะผะฐั ะดะฐัะฐ-ััะฐะฝะทะฐะบัะธั, ะฒ ะบะพัะพัะพะน ะฟะพะปัะทะพะฒะฐัะตะปั ะฟัะธััะปะฐะตั ะฝะพะฒัะต 4 ะฟะตัะตะผะตะฝะฝัะต.
#ะะพะฝััะฐะบั ัะฐะทัะตัะธั ะตั ัะพะปัะบะพ ะฒ ัะปััะฐะต ะตัะปะธ ะฒัะต ะพะฑัะตะบัั ะพััะฐะฝัััั ะฒ ัะพั
ัะฐะฝะฝะพััะธ.
match tx {
case t:DataTransaction =>
#ะะทะฒะปะตะบะฐะตะผ ะฑัะดััะตะต ะฟะพะปะพะถะตะฝะธะต ะฒัะตั
ะพะฑัะตะบัะพะฒ ะธะท ััะฐะฝะทะฐะบัะธะธ
let newHuman= extract(getInteger(t.data,"human"))
let newWolf= extract(getInteger(t.data,"wolf"))
let newGoat= extract(getInteger(t.data,"goat"))
let newCabbage= extract(getInteger(t.data,"cabbage"))
#0 ะพะฑะพะทะฝะฐัะฐะตั, ััะพ ะพะฑัะตะบั ะฝะฐ ะปะตะฒะพะผ ะฑะตัะตะณั, ะฐ 1 ััะพ ะฝะฐ ะฟัะฐะฒะพะผ
let humanSide= human == 0 || human == 1
let wolfSide= wolf == 0 || wolf == 1
let goatSide= goat == 0 || goat == 1
let cabbageSide= cabbage == 0 || cabbage == 1
let side= humanSide && wolfSide && goatSide && cabbageSide
#ะัะดัั ัะฐะทัะตัะตะฝั ัะพะปัะบะพ ัะต ััะฐะฝะทะฐะบัะธะธ, ะณะดะต ั ะบะพะทะพะน ะฝะธะบะพะณะพ ะฝะตั ะฒ ะพััััััะฒะธะธ ัะตัะผะตัะฐ.
let safeAlone= newGoat != newWolf && newGoat != newCabbage
let safe= safeAlone || newGoat == newHuman
let humanTravel= human != newHuman
#ะกะฟะพัะพะฑั ะฟััะตัะตััะฒะธั ัะตัะผะตัะฐ ััะดะฐ ะธ ะพะฑัะฐัะฝะพ, ั ะบะตะผ-ัะพ ะปะธะฑะพ ะฒ ะพะดะธะฝะพัะบั.
let t1= humanTravel && newWolf == wolf + 1 && newGoat == goat && newCabbage == cabbage
let t2= humanTravel && newWolf == wolf && newGoat == goat + 1 && newCabbage == cabbage
let t3= humanTravel && newWolf == wolf && newGoat == goat && newCabbage == cabbage + 1
let t4= humanTravel && newWolf == wolf - 1 && newGoat == goat && newCabbage == cabbage
let t5= humanTravel && newWolf == wolf && newGoat == goat - 1 && newCabbage == cabbage
let t6= humanTravel && newWolf == wolf && newGoat == goat && newCabbage == cabbage - 1
let t7= humanTravel && newWolf == wolf && newGoat == goat && newCabbage == cabbage
let objectTravel = t1 || t2 || t3 || t4 || t5 || t6 || t7
#ะะพัะปะตะดะฝัั ัััะพะบะฐ ะฒ ัะฐะทะดะตะปะต ััะฐะฝะทะฐะบัะธะธ ะพะฟะธััะฒะฐะตั ัะฐะทัะตัะฐััะตะต ััะฐะฝะทะฐะบัะธั ััะปะพะฒะธะต.
#ะะตัะตะผะตะฝะฝัะต ััะฐะฝะทะฐะบัะธะธ ะดะพะปะถะฝั ะธะผะตัั ะทะฝะฐัะตะฝะธั 1 ะธะปะธ 0, ะฒัะต ะพะฑัะตะบัั ะดะพะปะถะฝั
#ะฑััั ะฒ ะฑะตะทะพะฟะฐัะฝะพััะธ, ะฐ ัะตัะผะตั ะดะพะปะถะตะฝ ะฟะตัะตะฟะปัะฒะฐัั ัะตะบั ะฒ ะพะดะธะฝะพัะบั
#ะธะปะธ ั ะบะตะผ-ัะพ ะฝะฐ ะบะฐะถะดะพะผ ัะฐะณั
side && safe && humanTravel && objectTravel
case s:TransferTransaction =>
#ะขัะฐะฝะทะฐะบัะธั ะฒัะฒะพะดะฐ ััะตะดััะฒ ัะฐะทัะตัะตะฝะฐ ัะพะปัะบะพ ะฒ ัะปััะฐะต ะตัะปะธ ะฒัะต ะฟะตัะตะฟะปัะปะธ ะฝะฐ ะดััะณะพะน ะฑะตัะตะณ
human == 1 && wolf == 1 && goat == 1 && cabbage == 1
#ะัะต ะฟัะพัะธะต ัะธะฟั ััะฐะฝะทะฐะบัะธะน ะทะฐะฟัะตัะตะฝั
case _ => false
}
PHP เดเดฆเตเดฏเด เดธเตเดฎเดพเตผเดเตเดเต เดเดฐเดพเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฒเตเดฒเดพ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเด เด เดตเดฏเตเดเต เดเตเดเดณเตเดเตเดฏเตเด เด เดจเตเดฌเดจเตเดง เดฌเตเดณเดฟเดฏเตป เดเดเตเดธเตเดชเตเดฐเดทเตป เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเตเดฏเตเด เดฐเตเดชเดคเตเดคเดฟเตฝ เดตเตเตผเดคเดฟเดฐเดฟเดเตเดเตเดเตเดเตเดเตเดจเตเดจเต.
cabbage: extract ( getInteger ( contract , "cabbage" ) )
goat: extract ( getInteger ( contract , "goat" ) )
human: extract ( getInteger ( contract , "human" ) )
wolf: extract ( getInteger ( contract , "wolf" ) )
fState: human== 1 && wolf== 1 && goat== 1 && cabbage== 1
fState:
wolf:
goat:
cabbage:
cabbageSide: cabbage== 0 || cabbage== 1
human: extract ( getInteger ( contract , "human" ) )
newGoat: extract ( getInteger ( t.data , "goat" ) )
newHuman: extract ( getInteger ( t.data , "human" ) )
goatSide: goat== 0 || goat== 1
humanSide: human== 0 || human== 1
t7: humanTravel && newWolf== wolf && newGoat== goat && newCabbage== cabbage
t3: humanTravel && newWolf== wolf && newGoat== goat && newCabbage== cabbage + 1
t6: humanTravel && newWolf== wolf && newGoat== goat && newCabbage== cabbage - 1
t2: humanTravel && newWolf== wolf && newGoat== goat + 1 && newCabbage== cabbage
t5: humanTravel && newWolf== wolf && newGoat== goat - 1 && newCabbage== cabbage
t1: humanTravel && newWolf== wolf + 1 && newGoat== goat && newCabbage== cabbage
t4: humanTravel && newWolf== wolf - 1 && newGoat== goat && newCabbage== cabbage
safeAlone: newGoat != newWolf && newGoat != newCabbage
wolfSide: wolf== 0 || wolf== 1
humanTravel: human != newHuman
side: humanSide && wolfSide && goatSide && cabbageSide
safe: safeAlone || newGoat== newHuman
objectTravel: t1 || t2 || t3 || t4 || t5 || t6 || t7
PHP เดชเดฟเดจเตเดจเตเดเต เด
เดตเดฏเต เดชเตเดคเตเดคเดฃเดฟเดฒเต Z3Prover SMT-เด
เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดธเดฟเดธเตเดฑเตเดฑเด เดตเดฟเดตเดฐเดฃเดฎเดพเดฏเดฟ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดกเดพเดฑเตเดฑ เดเดฐเต เดฒเตเดชเตเดชเดฟเตฝ เดชเตเดคเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เด
เดตเดฟเดเต เดธเตเดฑเตเดฑเตเดฑเตเดเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพเดเตเดเต เดธเตเดเดฟเด i, เดเตเดฐเดพเตปเดธเดพเดเตเดทเตป เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพ เดธเตเดเดฟเด i + 1 เดเดจเตเดจเดฟเดต เดฒเดญเดฟเดเตเดเตเดจเตเดจเต, เดเตเดเดพเดคเต เดเดเตเดธเตเดชเตเดฐเดทเดจเตเดเดณเตเดณเตเดณ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพ เดฎเตเดฎเตเดชเดคเตเดคเต เด
เดตเดธเตเดฅเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด
เดเตเดคเตเดค เด
เดตเดธเตเดฅเดฏเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเดเตเดเตพ เดธเดเตเดเดฎเดพเดเตเดเตเดจเตเดจเต.
เดเดคเต เดเดเตเดเดณเตเดเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเตเดฑเต เดนเตเดฆเดฏเดฎเดพเดฃเต, เดเดคเต เดเดฐเต เดฎเตพเดเตเดเดฟ-เดเดเดชเดพเดเต เดคเดฟเดฐเดฏเตฝ เดธเดเดตเดฟเดงเดพเดจเด เดจเตฝเดเตเดจเตเดจเต.
fState: And( And( And( human[Steps] == 1 , wolf[Steps] == 1 ) , goat[Steps] == 1 ) , cabbage[Steps] == 1 )
final: fState[Steps]
fState:
wolf:
goat:
cabbage:
cabbageSide: Or( cabbage[i] == 0 , cabbage[i] == 1 )
goatSide: Or( goat[i] == 0 , goat[i] == 1 )
humanSide: Or( human[i] == 0 , human[i] == 1 )
t7: And( And( And( humanTravel[i] , wolf == wolf[i] ) , goat[i+1] == goat[i] ) , cabbage == cabbage[i] )
t3: And( And( And( humanTravel[i] , wolf == wolf[i] ) , goat[i+1] == goat[i] ) , cabbage == cabbage[i] + 1 )
t6: And( And( And( humanTravel[i] , wolf == wolf[i] ) , goat[i+1] == goat[i] ) , cabbage == cabbage[i] - 1 )
t2: And( And( And( humanTravel[i] , wolf == wolf[i] ) , goat[i+1] == goat[i] + 1 ) , cabbage == cabbage[i] )
t5: And( And( And( humanTravel[i] , wolf == wolf[i] ) , goat[i+1] == goat[i] - 1 ) , cabbage == cabbage[i] )
t1: And( And( And( humanTravel[i] , wolf == wolf[i] + 1 ) , goat[i+1] == goat[i] ) , cabbage == cabbage[i] )
t4: And( And( And( humanTravel[i] , wolf == wolf[i] - 1 ) , goat[i+1] == goat[i] ) , cabbage == cabbage[i] )
safeAlone: And( goat[i+1] != wolf , goat[i+1] != cabbage )
wolfSide: Or( wolf[i] == 0 , wolf[i] == 1 )
humanTravel: human[i] != human[i+1]
side: And( And( And( humanSide[i] , wolfSide[i] ) , goatSide[i] ) , cabbageSide[i] )
safe: Or( safeAlone[i] , goat[i+1] == human[i+1] )
objectTravel: Or( Or( Or( Or( Or( Or( t1[i] , t2[i] ) , t3[i] ) , t4[i] ) , t5[i] ) , t6[i] ) , t7[i] )
data: And( And( And( side[i] , safe[i] ) , humanTravel[i] ) , objectTravel[i] )
เดชเตเดคเตเดคเดฃเดฟเดฒเต SMT เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต เดตเดฟเดตเดฐเดฟเดเตเดเดพเตป เดฐเตเดชเดเตฝเดชเตเดชเดจ เดเตเดฏเตเดค เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดตเตเดฏเดตเดธเตเดฅเดเตพ เด เดเตเดเตเดเดฟ เดเตเตผเดเตเดเตเดจเตเดจเต.
เดถเตเดจเตเดฏเดฎเดพเดฏ เดเตเดเดชเตเดฒเตเดฑเตเดฑเต
import json
from z3 import *
s = Solver()
Steps=7
Num= Steps+1
$code$
#template, only start rest
s.add(data + start)
#template
s.add(final)
ind = 0
f = open("/var/www/html/all/bin/python/log.txt", "a")
while s.check() == sat:
ind = ind +1
print ind
m = s.model()
print m
print "traversing model..."
#for d in m.decls():
#print "%s = %s" % (d.name(), m[d])
f.write(str(m))
f.write("nn")
exit()
#s.add(Or(goat[0] != s.model()[data[0]] )) # prevent next model from using the same assignment as a previous model
print "Total solution number: "
print ind
f.close()
เดฎเตเดดเตเดตเตป เดถเตเดเดเดฒเดฏเดฟเดฒเตเดฏเตเด เด เดตเดธเดพเดจ เดธเดเดธเตเดฅเดพเดจเดคเตเดคเดฟเดจเต, เดเตเดฐเดพเตปเดธเตเดซเตผ เดเดเดชเดพเดเต เดตเดฟเดญเดพเดเดคเตเดคเดฟเตฝ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดจเดฟเดฏเดฎเดเตเดเตพ เดฌเดพเดงเดเดฎเดพเดฃเต.
เดเดฐเดพเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฃเด เดชเดฟเตปเดตเดฒเดฟเดเตเดเดพเตป เดเดคเตเดฏเดจเตเดคเดฟเดเดฎเดพเดฏเดฟ เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เด เดคเตเดคเดฐเด เดตเตเดฏเดตเดธเตเดฅเดเตพเดเตเดเดพเดฏเดฟ Z3Prover เดจเตเดเตเดเตเด เดเดจเตเดจเดพเดฃเต เดเดคเดฟเดจเตผเดคเตเดฅเด.
เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดเดเตเดเดณเตเดเต เดเดฐเดพเดฑเดฟเดจเตเดฑเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดฏ SMT เดฎเตเดกเตฝ เดเดเตเดเตพเดเตเดเต เดธเตเดตเดฏเดฎเตเดต เดฒเดญเดฟเดเตเดเตเด.
เดเดพเตป เดธเตเดตเดฎเตเดงเดฏเดพ เดธเดฎเดพเดนเดฐเดฟเดเตเด เดเดจเตเดฑเต เดฎเตเตป เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเตเดกเดฒเตเดฎเดพเดฏเดฟ เดเดคเต เดตเดณเดฐเต เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณเดคเดพเดฃเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด.
เดชเตเตผเดคเตเดคเดฟเดฏเดพเดฏ เดเตเดเดชเตเดฒเตเดฑเตเดฑเต
import json
from z3 import *
s = Solver()
Steps=7
Num= Steps+1
human = [ Int('human_%i' % (i + 1)) for i in range(Num) ]
wolf = [ Int('wolf_%i' % (i + 1)) for i in range(Num) ]
goat = [ Int('goat_%i' % (i + 1)) for i in range(Num) ]
cabbage = [ Int('cabbage_%i' % (i + 1)) for i in range(Num) ]
nothing= [ And( human[i] == human[i+1], wolf[i] == wolf[i+1], goat[i] == goat[i+1], cabbage[i] == cabbage[i+1] ) for i in range(Num-1) ]
start= [ human[0] == 1, wolf[0] == 0, goat[0] == 1, cabbage[0] == 0 ]
safeAlone= [ And( goat[i+1] != wolf[i+1] , goat[i+1] != cabbage[i+1] ) for i in range(Num-1) ]
safe= [ Or( safeAlone[i] , goat[i+1] == human[i+1] ) for i in range(Num-1) ]
humanTravel= [ human[i] != human[i+1] for i in range(Num-1) ]
cabbageSide= [ Or( cabbage[i] == 0 , cabbage[i] == 1 ) for i in range(Num-1) ]
goatSide= [ Or( goat[i] == 0 , goat[i] == 1 ) for i in range(Num-1) ]
humanSide= [ Or( human[i] == 0 , human[i] == 1 ) for i in range(Num-1) ]
t7= [ And( And( And( humanTravel[i] , wolf[i+1] == wolf[i] ) , goat[i+1] == goat[i] ) , cabbage[i+1] == cabbage[i] ) for i in range(Num-1) ]
t3= [ And( And( And( humanTravel[i] , wolf[i+1] == wolf[i] ) , goat[i+1] == goat[i] ) , cabbage[i+1] == cabbage[i] + 1 ) for i in range(Num-1) ]
t6= [ And( And( And( humanTravel[i] , wolf[i+1] == wolf[i] ) , goat[i+1] == goat[i] ) , cabbage[i+1] == cabbage[i] - 1 ) for i in range(Num-1) ]
t2= [ And( And( And( humanTravel[i] , wolf[i+1] == wolf[i] ) , goat[i+1] == goat[i] + 1 ) , cabbage[i+1] == cabbage[i] ) for i in range(Num-1) ]
t5= [ And( And( And( humanTravel[i] , wolf[i+1] == wolf[i] ) , goat[i+1] == goat[i] - 1 ) , cabbage[i+1] == cabbage[i] ) for i in range(Num-1) ]
t1= [ And( And( And( humanTravel[i] , wolf[i+1] == wolf[i] + 1 ) , goat[i+1] == goat[i] ) , cabbage[i+1] == cabbage[i] ) for i in range(Num-1) ]
t4= [ And( And( And( humanTravel[i] , wolf[i+1] == wolf[i] - 1 ) , goat[i+1] == goat[i] ) , cabbage[i+1] == cabbage[i] ) for i in range(Num-1) ]
wolfSide= [ Or( wolf[i] == 0 , wolf[i] == 1 ) for i in range(Num-1) ]
side= [ And( And( And( humanSide[i] , wolfSide[i] ) , goatSide[i] ) , cabbageSide[i] ) for i in range(Num-1) ]
objectTravel= [ Or( Or( Or( Or( Or( Or( t1[i] , t2[i] ) , t3[i] ) , t4[i] ) , t5[i] ) , t6[i] ) , t7[i] ) for i in range(Num-1) ]
data= [ Or( And( And( And( side[i] , safe[i] ) , humanTravel[i] ) , objectTravel[i] ) , nothing[i]) for i in range(Num-1) ]
fState= And( And( And( human[Steps] == 1 , wolf[Steps] == 1 ) , goat[Steps] == 1 ) , cabbage[Steps] == 1 )
final= fState
#template, only start rest
s.add(data + start)
#template
s.add(final)
ind = 0
f = open("/var/www/html/all/bin/python/log.txt", "a")
while s.check() == sat:
ind = ind +1
print ind
m = s.model()
print m
print "traversing model..."
#for d in m.decls():
#print "%s = %s" % (d.name(), m[d])
f.write(str(m))
f.write("nn")
exit()
#s.add(Or(goat[0] != s.model()[data[0]] )) # prevent next model from using the same assignment as a previous model
print "Total solution number: "
print ind
f.close()
เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเดคเดฟเดจเต เดถเตเดทเด, Z3Prover เดธเตเดฎเดพเตผเดเตเดเต เดเดฐเดพเตผ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดเดฏเตเด เดชเดฃเด เดชเดฟเตปเดตเดฒเดฟเดเตเดเดพเตป เดเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดเดเดชเดพเดเตเดเดณเตเดเต เดเดฐเต เดถเตเดเดเดฒ เดจเตฝเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต:
Winning transaction chain found:
Data transaction: human= 0, wolf= 0, goat= 1, cabbage= 0
Data transaction: human= 1, wolf= 0, goat= 1, cabbage= 1
Data transaction: human= 0, wolf= 0, goat= 0, cabbage= 1
Data transaction: human= 1, wolf= 1, goat= 0, cabbage= 1
Data transaction: human= 0, wolf= 1, goat= 0, cabbage= 1
Data transaction: human= 1, wolf= 1, goat= 1, cabbage= 1
Data transaction: human= 1, wolf= 1, goat= 1, cabbage= 1
Transfer transaction
เดเดเดคเตเดคเตเดตเดณเตเดณ เดเดฐเดพเดฑเดฟเดจเต เดชเตเดฑเดฎเต, เดจเดฟเดเตเดเตพเดเตเดเต เดจเดฟเดเตเดเดณเตเดเต เดธเตเดตเดจเตเดคเด เดเดฐเดพเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดชเดฐเตเดเตเดทเดฟเดเตเดเดพเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ 2 เดเดเดชเดพเดเตเดเดณเดฟเตฝ เดชเดฐเดฟเดนเดฐเดฟเดเตเด เด เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดฆเดพเดนเดฐเดฃเด เดชเดฐเตเดเตเดทเดฟเดเตเดเดพเด.
let contract = tx.sender
let a= extract(getInteger(contract,"a"))
let b= extract(getInteger(contract,"b"))
let c= extract(getInteger(contract,"c"))
let d= extract(getInteger(contract,"d"))
match tx {
case t:DataTransaction =>
let na= extract(getInteger(t.data,"a"))
let nb= extract(getInteger(t.data,"b"))
let nc= extract(getInteger(t.data,"c"))
let nd= extract(getInteger(t.data,"d"))
nd == 0 || a == 100 - 5
case s:TransferTransaction =>
( a + b - c ) * d == 12
case _ => true
}
เดเดคเต เดเดฆเตเดฏ เดชเดคเดฟเดชเตเดชเดพเดฏเดคเดฟเดจเดพเตฝ, เดตเดพเดเตเดฏเดเดเดจ เดตเดณเดฐเต เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฃเต เดเตเดเดพเดคเต เดฌเดเตเดเตพ เดเดฃเตเดเดพเดเดพเด.
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฒเตเดเดจเดเตเดเดณเดฟเตฝ, เดตเดฟโเดเดฎเตเดฎเดฟเดจเตเดฑเต เดเตเดเตเดคเตฝ เดตเดฟเดเดธเดจเด เดเดตเตผ เดเตเดฏเตเดฏเดพเดจเตเด เด
เดคเดฟเดจเตเดฑเต เดธเดนเดพเดฏเดคเตเดคเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดเตเดเดจเต เดเดชเดเดพเดฐเดฟเดเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดฑเดชเตเดชเดฟเดเตเด เดธเตโเดฎเดพเตผเดเตเดเต เดเดฐเดพเดฑเตเดเตพ เดธเตเดทเตโเดเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เดเดพเดฃเดฟเดเตเดเดพเตป เดเดพเตป เดชเดฆเตเดงเดคเดฟเดฏเดฟเดเตเดจเตเดจเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด
เดต เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเด เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ.
เด
เดเตเดทเดฐ เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเตป เดเดตเดฟเดเต เดฒเดญเตเดฏเดฎเดพเดฃเต
เดชเตเดฐเดคเตเดเดพเดคเตเดฎเด VM-เดจเตเดฑเต เดธเตเดดเตเดธเต เดเตเดกเต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเต เด
เดตเดฟเดเต เด
เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเตพ เดเตเตผเดคเตเดค เดถเตเดทเด, เดธเตเดเดจเตเดฏ เดเดเตโเดธเดธเตเดธเดฟเดจเดพเดฏเดฟ เด
เดคเต GitHub-เตฝ เดเดเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต.
เด
เดตเดฒเดเดฌเด: www.habr.com