All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.boreal.model.rule.api.Rule Maven / Gradle / Ivy

The newest version!
package fr.boreal.model.rule.api;

import java.util.Collection;

import fr.boreal.model.formula.api.FOFormula;
import fr.boreal.model.logicalElements.api.Constant;
import fr.boreal.model.logicalElements.api.Variable;

/**
 * This interface represents an existential rule.
 * 
* An existential rule is a positive rule of the form B -> H, * where B and H are conjunctions of atoms. * It is interpreted as the formula ∀X(∃Y B[X,Y] -> ∃Z H[X,Z]), or equivalently * ∀X∀Y(B[X,Y] -> ∃Z H[X,Z]), where X are the variables shared by B and H, * Y are the variables that occur only in B * and Z the ones that occur only in H. * Note that Z are existentially quantified. * */ public interface Rule { /** * @return the label of the rule */ String getLabel(); /** * @return the body of the rule */ FOFormula getBody(); /** * @return the head of the rule */ FOFormula getHead(); /** * @return the frontier of the rule */ Collection getFrontier(); /** * @return the existential variables of the rule */ Collection getExistentials(); /** * @return the constants of the rule */ Collection getConstants(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy