Sto lavorando a un progetto il cui obiettivo è l'uso della riscrittura dei termini per risolvere/semplificare i problemi aritmetici bit-vector a dimensione fissa, che è qualcosa di utile da fare passo precedente ad alcune procedure decisionali come quelle basate sul bit-blasting. Il termine riscrittura può risolvere il problema o produrre in altro modo un problema equivalente molto più semplice, quindi la combinazione di entrambi può portare ad una notevole accelerazione.Uso della riscrittura dei termini nelle procedure decisionali per aritmetica bit-vettoriale
Sono consapevole che molti solutori SMT implementano questa strategia (ad esempio, Boolector, Beaver, Alt-Ergo o Z3), ma è difficile trovare documenti/relazioni tecniche/ecc in cui questi passaggi di riscrittura sono descritti in dettaglio . In generale, ho trovato solo documenti in cui gli autori descrivono tali passaggi di semplificazione in alcuni paragrafi. Vorrei trovare un documento che spieghi in dettaglio l'uso della riscrittura a termine: fornire esempi di regole, discutere la convenienza della riscrittura AC e/o altri assiomi equazionali, uso di strategie di riscrittura, ecc.
Per ora, ho solo ho trovato il rapporto tecnico A Decision Procedure for Fixed-Width Bit-Vectors che descrive i passaggi di normalizzazione/semplificazione eseguiti da CVC Lite, e vorrei trovare altri rapporti tecnici come questo! Ho anche trovato un poster su Term rewriting in STP ma è solo un breve riassunto.
Ho già visitato i siti web di questi solutori SMT e ho cercato nei loro Pubblicazioni pagine ...
Gradirei qualsiasi riferimento, o qualsiasi spiegazione di come riscrittura termine viene utilizzato nelle versioni attuali di noti risolutori SMT. Sono particolarmente interessato a Z3 perché sembra avere una delle fasi di semplificazione più intelligenti. Ad esempio, Z3 3. * ha introdotto una nuova procedura di decisione del vettore di bit ma, sfortunatamente, non sono riuscito a trovare alcun documento che lo descrivesse.
Grazie per la risposta. Ho letto quel documento alcuni mesi fa (si fa riferimento nella sezione * Pubblicazioni * del sito Web Z3), ma, se ricordo bene, è molto concentrato sulle difficoltà derivate dal fatto che le formule sono * quantificate *. – iago