Documentation

ExistentialRules.ChaseSequence.CoreChase.Basic

Auxiliary Theorems for the Core Chase #

We introduce a few auxiliary theorems on GroundTermMappings and cores here. Most notably, we prove that every finite set has a weak core. Eventually, these theorems should move to more appropriate places.

Applying a mapping that is the id on all constants on a function free fact does not change the fact as it only contains constants.

For two sets in a subset relation, the id mapping is always a homomorphism from the subset to its superset.

theorem FactSet.homSubset_refl {sig : Signature} [DecidableEq sig.P] [DecidableEq sig.C] [DecidableEq sig.V] {fs : FactSet sig} :
fs.homSubset fs

The homSubset relation is reflexive.

theorem FactSet.homSubset_trans {sig : Signature} [DecidableEq sig.P] [DecidableEq sig.C] [DecidableEq sig.V] {A B C : FactSet sig} :
A.homSubset B → B.homSubset C → A.homSubset C

The homSubset relation is transitive.

The empty fact set is a weak core.

Every list has a weak core. I.e. it is either itself a weak core or has a proper homomorphic sublist that is a weak core.

Each finite fact set has a weak core.

Each Database is a weak core.