{'fraction_non_alphanumeric': 0.02051983584131327, 'fraction_numerical': 0.0, 'mean_word_length': 5.049586776859504, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Verification of the Sparrow processor

We present a new gate-level hardware verification method based on term rewriting systems. As an application, we formally verify the Sparrow microprocessor with the term rewriting theorem prover ReDuX. Our designs are given as net-lists in BLIF format. We mechanically compile the net-lists into the formal axiomatization of Sparrow as a term rewriting system. ReDuX can then emulate Sparrow symbolically. We manually produce verification conditions from the user-level processor specification and verify each one of them. Our axiomatization corresponds directly to net-lists, and thus is intuitive and close to the hardware. Except for simple equations no higher concept of logic is involved.