diff --git a/src/inference/ProofSystem.java b/src/inference/ProofSystem.java index 87c9acb..d27cd13 100644 --- a/src/inference/ProofSystem.java +++ b/src/inference/ProofSystem.java @@ -1,8 +1,39 @@ package inference; +import java.util.List; + +import models.algebra.Variable; +import models.formulas.meta.MetaDependencyFormula; +import models.formulas.meta.MetaEquationFormula; +import models.terms.meta.MetaEvaluatableTermVariable; +import models.terms.meta.MetaRDLTerm; +import models.terms.meta.MetaResourceVariable; + public class ProofSystem { + private final static InferenceRule REFLEXIVE_LAW = new InferenceRule("relfexive law", List.of(), + new MetaEquationFormula(new MetaEvaluatableTermVariable(new Variable("te")), new MetaEvaluatableTermVariable(new Variable("te")))); + private final static InferenceRule SYMMETRIC_LAW = new InferenceRule("symmetric law", + List.of(new MetaEquationFormula(new MetaEvaluatableTermVariable(new Variable("te")), new MetaEvaluatableTermVariable(new Variable("se")))), + new MetaEquationFormula(new MetaEvaluatableTermVariable(new Variable("se")), new MetaEvaluatableTermVariable(new Variable("te")))); + + private final static InferenceRule TRANSITIVE_LAW = new InferenceRule("transitive law", + List.of( + new MetaEquationFormula(new MetaEvaluatableTermVariable(new Variable("se")), new MetaEvaluatableTermVariable(new Variable("te"))), + new MetaEquationFormula(new MetaEvaluatableTermVariable(new Variable("te")), new MetaEvaluatableTermVariable(new Variable("ue"))) + ), + new MetaEquationFormula(new MetaEvaluatableTermVariable(new Variable("se")), new MetaEvaluatableTermVariable(new Variable("ue"))) + ); + + private final static InferenceRule IDENTITY_MAPPING = new InferenceRule("identity mapping", + List.of(new MetaEquationFormula(new MetaEvaluatableTermVariable(new Variable("te")), new MetaResourceVariable(new Variable("v")))), + new MetaDependencyFormula(new MetaRDLTerm(new MetaEvaluatableTermVariable(new Variable("te")), new MetaResourceVariable(new Variable("v")))) + ); + + + public ProofSystem() { + } }