# SMT-LIB 2.7 / AIGER / BTOR2 Formal-Verification-Orchestrator (CDCL + BMC + k-Induktion + Craig-Interpolation + IC3)

Ein kompletter Formal-Verification-Stack im Browser — ganz ohne cvc5/Z3-Binary: ein SMT-LIB-2.7-Skript-Parser für den QF_BV-+Bool-Kern mit Tseitin-Bit-Blasting der FixedSizeBitVectors-Operatoren, ein AIGER-Leser (ASCII-aag und Binär-aig mit Delta-Dekodierung; Ausgaben als Bad-Properties), ein BTOR2-Leser mit Wortebenen-Bit-Blasting und darunter ein handgeschriebener CDCL-SAT-Kern (zwei beobachtete Literale, VSIDS-artige Aktivitäten, 1-UIP-Lernen, Neustarts). Auf sequenziellen Modellen: BMC mit Zeugenspuren, k-Induktion mit Unique-State-Verstärkung, McMillan-artige Craig-Interpolation mit SAT-Rezertifizierung und eine IC3/PDR-lite-Schleife mit Würfel-Blockierung.

> Kanonische Seite: https://elysiatools.com/de/tools/smt-smtlib-2-7-cvc5-z3-btor2-aiger-k-induction-cddr-dbg-invariant-synthesis-orchestrator

- **Kategorie:** Science & Education

- **Schlagwörter:** smt-lib-parser, qf_bv-solver, cdcl-sat-kern, aiger-leser, btor2-verifikation, beschranktes model checking, k-induktion invariante, craig-interpolation, ic3 pdr lite, gegenbeispielspur

## Überblick

Alles läuft auf einem autarken TypeScript-Stack: das SMT-LIB-Frontend deckt den üblichen QF_BV/Bool-Operatorensatz ab (mit define-fun-Inlining und let-Bindungen), AIGER-Dateien werden in ASCII und Binär gelesen, BTOR2-Modelle ab Wortebene ge-blastet. Der SAT-Kern ist ein echter CDCL-Solver — dieselbe Algorithmusfamilie wie in cvc5 und Z3, im didaktischen Maßstab. Safety-Engines: BMC findet kürzeste Gegenbeispiele mit vollständigen Spuren; die k-Induktion ergänzt Eindeutigkeitsbedingungen; die Interpolations-Engine leitet Kandidaten aus der Widerlegungsstruktur ab und lässt jeden vor der Anerkennung als Invariante durch unabhängige SAT-Aufrufe re-verifizieren — ein ungeprüfter Kandidat wird nie als Invariante berichtet; IC3-lite führt trampenweise blockierte Würfel, die k-Induktion schließt den Beweis. Größenordnung: Breiten ≤ 16 und Schranken ≤ 30 halten alles interaktiv.

## Eingaben

- **Modellquelle** (select)
- **Modelltext (beim Einfügen)** (textarea): (set-logic QF_BV) (assert ...) (check-sat) | aag M I L O A ... | 1 sort bitvec 8 ...
- **Verifikations-Engine** (select)
- **Schranke k für BMC / Induktion (1–30)** (number): 10

## Wann verwenden

- Beim formalen Beweis von Eigenschaften oder der Widerlegung von Behauptungen in QF_BV-Bitvektor-Logik ohne lokale Z3- oder cvc5-Installation.
- Zur Analyse sequenzieller Hardware- und Zustandsübergangsmodelle im AIGER- oder BTOR2-Format auf Sicherheitsverletzungen und unerreichbare Zustände.
- Für didaktische Vergleiche zwischen BMC, k-Induktion mit Eindeutigkeitsverstärkung, Craig-Interpolation und IC3/PDR-Verfahren.

## Funktionsweise

- Das Frontend parst SMT-LIB 2.7-, AIGER- (ASCII/Binär) oder BTOR2-Modelle, löst Wortebenen-Operatoren auf und transformiert diese via Tseitin-Bit-Blasting in Klauseln.
- Der integrierte CDCL-SAT-Kern löst Probleme mithilfe von zwei beobachteten Literalen, VSIDS-Heuristiken, 1-UIP-Lernen und periodischen Neustarts.
- Auf sequenziellen Modellen entfaltet die ausgewählte Verifikations-Engine Übergangsrelationen bis zur Schranke k oder synthesiert Invarianten und liefert detaillierte Zeugenspuren bei Fehlern.

## Anwendungsfälle

- Verifikation arithmetischer Äquivalenzen und Schaltungsidentitäten in SMT-LIB QF_BV.
- Erkennung und Rekonstruktion kürzester Fehlertraces in sequenziellen BTOR2-Zählern und Zustandsmaschinen.
- Invariantenbeweis für Hardwaremodelle mittels SAT-rezertifizierter Craig-Interpolation oder IC3/PDR-lite.

## Häufig gestellte Fragen

### Benötigt das Tool eine native Installation von Z3 oder cvc5?

Nein, der vollständige Verifikationsstack und der CDCL-SAT-Kern laufen vollständig clientseitig in TypeScript im Webbrowser.

### Welche SMT-Logiken werden unterstützt?

Unterstützt wird die quantorenfreie Bitvektor- und Aussagenlogik (QF_BV + Bool) inklusive Standardoperatoren, define-fun-Inlining und let-Bindungen.

### Welche Eingabeformate für sequentielle Modelle werden akzeptiert?

Es werden AIGER-Dateien (ASCII .aag und binäre .aig mit Delta-Dekodierung) sowie BTOR2-Wortebenenmodelle unterstützt.

### Was liefert der Bounded Model Checker (BMC) bei einer Eigenschaftsverletzung?

BMC generiert eine vollständige Zeugenspur (Counterexample Witness Trace) mit Einzelschritten und Belegungen der Ein- und Zustandssignale.

### Welche Modellgrößen können performant analysiert werden?

Für flüssige interaktive Browser-Ausführungen werden Bitvektor-Breiten bis 16 Bit und Entfaltungsschranken k bis 30 empfohlen.

## Ähnliche Tools

- [JavaScript-Deobfuskator](https://elysiatools.com/de/tools/javascript-deobfuscator): Deobfuskiert und analysiert verschleierten JavaScript-Code zur Verbesserung der Lesbarkeit und Verständlichkeit
- [Markdown-Link-Extraktor](https://elysiatools.com/de/tools/markdown-link-extractor): Extrahiert Inline-Links, Referenzlinks und nackte URLs aus Markdown-Dokumenten mit grundlegender Syntaxvalidierung
- [Genre-Klassifikator AI](https://elysiatools.com/de/tools/genre-classifier-ai): Klassifiziert einen Track anhand gemessener Beweise: GTZAN-Klangtextur, Pulsform der Beat-Gitter, Bandbalance, Tonart und Dynamik — mit Top-3 und der Begründung jeder Wahl.
- [PCIe-LTSSM- und Lane-Margining-Decodierer](https://elysiatools.com/de/tools/pcie-link-training-linkstate-and-lane-margining-eye-decode): Dekodiert ein PCIe-Link-Training-Log (LTSSM-Zustandsfolge + TS1/TS2-Ordered-Sets): Gen1-Gen6-Zeitleiste, ausgehandelte Geschwindigkeit/Breite, Rate-Identifier-Bits, Lane-/Polaritätsinvertierung, Equalization-Phasen und Neustart-Diagnose; bewertet außerdem Lane-Margining-Berichte (pcilmr-CSV) und zeichnet eine Eye-Heatmap.
- [Podcast-Kapitelmarken-Generator (ID3 / Podcasting 2.0)](https://elysiatools.com/de/tools/podcast-chapter-marker-builder): Füge eine zeitcodierte Kapitelliste ein und erzeuge alle Auslieferungsformate auf einmal: Podcasting-2.0-Kapitel-JSON (v1.2.0) und RSS-Tag podcast:chapters, optionales Einbrennen der ID3v2.4-CHAP+CTOC-Frames in eine hochgeladene MP3 (Millisekunden als normaler Big-Endian-uint32, Offsets 0xFFFFFFFF, TIT2-Subframe pro Kapitel, bestehende Frames bleiben erhalten), Vorbis-Kommentarpaare CHAPTER001 (OGG/Opus), mp4chaps-Text, Zeitstempelblock für die YouTube-Beschreibung und SRT-Sidecar, plus die echte Player-Supportmatrix (Apple nimmt RSS-JSON seit 2025; Pocket Casts/Overcast lesen nur eingebettetes ID3; Spotify ignoriert beide).
- [Train/Test-Split mit Stratifizierung](https://elysiatools.com/de/tools/train-test-split-with-stratification): Liest ein CSV/JSON-Dataset und teilt es stratifiziert nach der Zielspalte in train/validation/test (standardmäßig 70/15/15, reproduzierbarer Seed) oder stratifiziertes k-fold; Bericht zur Klassenverteilung pro Split mit Abweichungsbalken, Leck-Check über doppelte Zeilen, SMOTE-Vorschau (Nächste-Nachbarn-Interpolation auf dem Train-Split) und CSV-Export als ZIP.
- [User-Agent-Parser](https://elysiatools.com/de/tools/user-agent-parser): Analysiert User-Agent-Strings, um Browser-, Betriebssystem-, Geräte- und Engine-Informationen zu extrahieren
- [Changelog-Extraktor](https://elysiatools.com/de/tools/changelog-extractor): Analysiert und extrahiert strukturierte Daten aus Changelogs und Versionshinweisen in verschiedenen Formaten

## Beispiele

- [Web Python Bildverarbeitung Beispiele](https://elysiatools.com/de/samples/web-image-processing-python): Web Python Bildverarbeitungsbeispiele mit PIL/Pillow einschließlich Lesen, Speichern, Skalieren und Formatkonvertierung
- [Android Java Bildverarbeitungsbeispiele](https://elysiatools.com/de/samples/android-image-processing-java): Android Java Bildverarbeitungsbeispiele einschließlich Lesen/Schreiben, Skalierung und Formatkonvertierung
- [Android Kotlin Bildverarbeitungsbeispiele](https://elysiatools.com/de/samples/android-image-processing-kotlin): Android Kotlin Bildverarbeitungsbeispiele einschließlich Lesen/Schreiben, Skalierung und Formatkonvertierung
- [Web Rust Bildverarbeitungsbeispiele](https://elysiatools.com/de/samples/web-image-processing-rust): Web Rust Bildverarbeitungsbeispiele einschließlich Lesen/Schreiben, Skalierung und Formatkonvertierung
