1 \subsection{Implementation of the hitting-set algorithm
}
2 \subsubsection{Task
12: Generate conflict
}
4 \subsubsection{Task
13: Define your data structure
}
5 Our datastructure uses the predicate node to signify nodes and leaf for leaves. A node contains a list of edge labels and another list (with the same length as the amound of edge labels) that contains nodes or leaves. The edge label corresponds with its order in the list it is in.
7 isHittingSetTree(node(
[a,b
],
[leaf,leaf
])).
8 isHittingSetTree(node(
[a,b
],
[node(
[c,d
],
[leaf,leaf
]), node(
[e,f
],
[leaf,leaf
])
])).
9 isHittingSetTree(node(
[a,b
],
[node(
[c,d
],
[node(
[g,h,i
],
[leaf,leaf,leaf
]),leaf
]), node(
[a,f
],
[leaf,leaf
])
])).
13 isHittingSetTree(node(
[a,b
],
[node(
[c,d
],
[node(
[g,h
],
[leaf,leaf,leaf
]),leaf
]), node(
[a,f
],
[leaf,leaf
])
])).
14 \subsubsection{Task
14: Implementation
}