{'fraction_non_alphanumeric': 0.007363770250368188, 'fraction_numerical': 0.0, 'mean_word_length': 5.181818181818182, '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}}
An automated induction prover for finite sets implemented in the Theorema system

In this thesis we introduce an extension of the Theorema set theory prover. We implement a prover in Theorema that is able to automatically prove correctness properties about recursive algorithms dealing with finite sets. This prover contains inference rules for setting up an induction over the cardinality of finite sets and rules dealing with the an arbitrary element of a set language construct in Theorema. We discuss various inference rules and present five case studies demonstrating the new prover and its interaction with the existing Theorema system, in particular the set theory prover.