Combinatorial objects have configurations which can be enumerated by algorithms,
but especially for imperative programs, it is difficult to find out if they produce the
correct output and don’t generate duplicates. Therefore, for some of the most common combinatorial objects, namely n_Sequences, n_Permutations, n_Subsets, Powerset,
Integer_Compositions, Integer_Partitions, Weak_Integer_Compositions and Trees, this
thesis formalizes efficient functional programs and verifies their correctness with help of
the interactive theorem prover Isabelle. In addition, for some combinatorial structures
the enumeration function is then used to show the structure’s cardinality.
«
Combinatorial objects have configurations which can be enumerated by algorithms,
but especially for imperative programs, it is difficult to find out if they produce the
correct output and don’t generate duplicates. Therefore, for some of the most common combinatorial objects, namely n_Sequences, n_Permutations, n_Subsets, Powerset,
Integer_Compositions, Integer_Partitions, Weak_Integer_Compositions and Trees, this
thesis formalizes efficient functional programs and verifies their correctness...
»