public void AddAuthorityRule(RuleBuilder rule) { Term.Symbol authority_symbol = new Term.Symbol("authority"); if (rule.Head.Ids.Count == 0 || !(rule.Head.Ids[0].Equals(authority_symbol))) { rule.Head.Ids.Insert(0, authority_symbol); } this.Rules.Add(rule.Convert(this.Symbols)); }
public void AddAuthorityFact(FactBuilder f) { Term.Symbol authority_symbol = new Term.Symbol("authority"); if (f.Predicate.Ids.Count == 0 || !(f.Predicate.Ids[0].Equals(authority_symbol))) { List <Term> ids = new List <Term> { authority_symbol }; ids.AddRange(f.Predicate.Ids); f.Predicate.Ids = ids; } this.Facts.Add(f.Convert(this.Symbols)); }