Terjemahkan program kumpulan jawaban ke bahasa pembukti teorema orde pertama
Catatan
Saat ini Anda sedang melihat anthem
versi 1, yang dibuat oleh Patrick Lühne dan tidak lagi dikembangkan. Tidak ada komitmen lebih lanjut terhadap repositori ini yang akan dilakukan.
Jika Anda tertarik dengan lagu versi terbaru, lihat repositori baru.
anthem
menerjemahkan program ASP (dalam bahasa input clingo
) ke bahasa pembukti teorema orde pertama seperti Prover9.
Untuk memverifikasi bahwa suatu program mengimplementasikan suatu spesifikasi, aktifkan anthem
menggunakan perintah verify-program
:
$ lagu verifikasi-program...
Perhatikan bahwa beberapa file spesifikasi mungkin ditentukan. Hal ini berguna untuk memisahkan lemma dan aksioma dari asumsi dan spesifikasi.
Contoh penghitungan dasar akar kuadrat suatu bilangan dapat direproduksi sebagai berikut:
$ lagu verifikasi-contoh program/contoh-2.{lp,spec,lemmas}
Notasi kurung kurawal adalah singkatan dari Bash
$ lagu verifikasi-contoh program/contoh-2.lp contoh/contoh-2.spec contoh/contoh-2.lemmas
Secara default, anthem
melakukan penyelesaian Clark pada rumus yang diterjemahkan, mendeteksi variabel mana yang bilangan bulat, dan menyederhanakan keluaran dengan menerapkan beberapa aturan transformasi dasar.
Langkah-langkah pemrosesan ini dapat dimatikan dengan opsi --no-complete
, --no-simplify
, dan --no-detect-integers
.
anthem
dibuat dengan rantai cargo
Rust. Setelah menginstal Rust, anthem
dapat dibuat sebagai berikut:
$ git klon https://github.com/potassco/anthem.git $ cd lagu kebangsaan $ pembuatan kargo --rilis
Biner anthem
kemudian akan tersedia di direktori target/release/
. Alternatifnya, anthem
dapat dipanggil menggunakan cargo
sebagai berikut:
$ kargo dijalankan -- verifikasi-program...
Patrick Luhne