STP(1) User Commands STP(1)

stp - حل‌کنندهٔ SMT و اثبات‌کنندهٔ سادهٔ قضیه

کاربرد: stp [گزینه‌ها] <input-file>

که در آن ورودی بسته به گزینه‌ها و پسوند فایل، SMTLIB1/2 یا CVC است

نمایش این راهنما
نمایش شماره نسخه

غیرفعال کردن همهٔ ساده‌سازی‌ها
خاموش کردن حل‌کننده در سطح کلمه (wordlevel solver)
غیرفعال کردن ساده‌ساز بازنویسی
غیرفعال کردن انتشار بیت ثابت (constant bit propagation)
غیرفعال کردن انتشار برابری (equality propagation)
تنها ساده‌سازی‌های کاهش‌دهنده اندازه
متغیرهای مقیدنَشده حذف می‌شوند.
تعداد دورهای بازنویسی AIG برای اجرا
فعال‌سازی هموارسازی آگاه از اشتراک‌گذاری برای گره‌های با چندگانگی (arity) بیشتر از ۲
فعال‌سازی بازنویسی آگاه از اشتراک‌گذاری
ایجاد متغیرهای جدید برای برخی استخراج‌ها (extracts)
استفاده از آنچه در یک گره if-then-else درست دانسته می‌شود برای ساده‌سازی شاخه‌های درست (true) یا نادرست (false)
ساده‌سازی هسته گزاره‌ای با AIGها
ساده‌سازی با تحلیل بازه‌ای
لفظ‌های محض (pure literals) جایگزین می‌شوند.
گره‌هایی که همواره درست هستند (مثلاً تصدیق‌شده‌ها) در سراسر مسئله با true جایگزین می‌شوند
استفاده از قواعد ساده جبر بولی برای ترکیب عطف‌ها در بالاترین سطح
در میانهٔ ساده‌سازی، تبدیل به AIGها و جستجو برای بیت‌هایی که AIGها تشخیص می‌دهند درست/نادرست یا مشابه گره دیگری هستند، در صورتی که سختی کمتر از این مقدار باشد. مقدار -1 به معنای همیشه است.
اگر تعداد گره‌های غیربرگ کمتر از این مقدار باشد، ساده‌سازی‌های کاهش‌دهنده اندازه را تا رسیدن به نقطه ثابت اجرا کن. مقدار -1 به معنای همیشه است.
تنها استفاده از ساده‌سازی‌هایی از مجموعهٔ با احتمال افزایش اندازه که گره‌ها را به مقادیر ثابت تبدیل می‌کنند
واگردانی ساده‌سازی‌های افزاینده اندازه در صورتی که مسئله را ساده‌تر نکرده باشند

استفاده از cryptominisat به عنوان حل‌کننده. فقط استفاده از CryptoMiniSat نسخه 5.0 یا بالاتر (پیش‌فرض).
تعداد رشته‌ها (threads) برای cryptominisat
استفاده از نسخه simplifying minisat نصب‌شده به عنوان حل‌کننده
استفاده از نسخه minisat نصب‌شده به عنوان حل‌کننده

کدگذاری مشتاقانه اصول بدیهی خواندن آرایه (آکرمن‌سازی)

گونهٔ ۱ کدگذاری تقسیم بدون علامت
گونهٔ ۲ کدگذاری تقسیم بدون علامت
گونهٔ ۳ کدگذاری تقسیم بدون علامت
گونهٔ ۱ کدگذاری جمع
گونهٔ ۲ کدگذاری جمع
گونهٔ ۱ کدگذاری مقایسه
گونهٔ کدگذاری ضرب بدون علامت
گونهٔ ۲ کدگذاری ضرب بدون علامت
هنگامی که انتشار بیت ثابت در حین ساخت AIG یک بیت ثابت را تشخیص می‌دهد، گره AIG را تصدیق (assert) کرده و در AIG آن را با بیت ثابت جایگزین می‌کند

چاپ مجدد ورودی STP در cout
چاپ ورودی در قالب CVC و سپس خروج
چاپ ورودی در قالب SMT-LIB2 و سپس خروج
چاپ ورودی در قالب SMT-LIB1 و سپس خروج
چاپ قالب گراف AiSee و سپس خروج
چاپ قالب گراف dotty/neato و سپس خروج
چاپ مثال نقض
چاپ مثال نقض به صورت دودویی
چاپ arrayval به ترتیب تعریف‌شده
چاپ آمار توابع
چاپ آمار سریع
چاپ گره‌ها
چاپ خروجی

استفاده از تجزیه‌کننده قالب SMT-LIB1
استفاده از تجزیه‌کننده قالب SMT-LIB2
استفاده از تجزیه‌کننده قالب CVC

ذخیره CNF در output_[0..n].cnf. توجه: متغیرها نمی‌توانند به عقب نگاشت شوند، و مسائلی که فقط با ساده‌ساز پیش‌پردازش حل می‌شوند هیچ CNF تولید نخواهند کرد زیرا حل‌کننده SAT هرگز فراخوانی نمی‌شود
ذخیره در قالب bench متعلق به ABC در output.bench

خروج پس از تولید CNF
تعداد تعارض‌هایی که پس از آن حل‌کننده SAT متوقف می‌شود. مقدار -1 به معنای هرگز است.
تعداد ثانیه‌هایی که پس از آن حل‌کننده SAT متوقف می‌شود. مقدار -1 به معنای هرگز است.
ساخت مثال نقض و بررسی سلامت آن

فایل ورودی

مستندات کامل برای stp به صورت یک کتابچه راهنمای Texinfo نگهداری می‌شود. اگر برنامه‌های info و stp به‌درستی روی سیستم شما نصب شده باشند، دستور

info stp

باید دسترسی شما را به راهنمای کامل فراهم کند.

August 2026 stp 2.3.3