Beispiel #1
0
    public override ISemanticValue Denotation(Model m)
    {
        if (!IsClosed())
        {
            return(null);
        }

        if (f.GetType() == typeof(Lambda))
        {
            return(this.Reduce().Denotation(m));
        }

        ISemanticValue d = f.Denotation(m);

        if (d.GetType() == typeof(Function))
        {
            return(((Function)d).Apply(x.Denotation(m)));
        }

        return(null);
    }
Beispiel #2
0
 // super compatible
 public bool Satisfies(LogicalForm l)
 {
     if (l.IsClosed() && l.IsFormula())
     {
         ISemanticValue s = l.Denotation(this);
         if (s.GetType() == typeof(TruthValue))
         {
             TruthValue t = (TruthValue)s;
             if (t.IsUnknown() && (super != null))
             {
                 return(super.Satisfies(l));
             }
             return(t.IsTrue());
         }
         if (super != null)
         {
             return(super.Satisfies(l));
         }
         return(false);
     }
     return(false);
 }
Beispiel #3
0
 public override ISemanticValue Denotation(Model m)
 {
     return(((TruthDesirabilityGoalValue)sentence.Denotation(m)).GetTruth());
 }
Beispiel #4
0
 public override ISemanticValue Denotation(Model m)
 {
     return(sentence.Denotation((Model)model.Denotation(m)));
 }
Beispiel #5
0
    public override ISemanticValue Denotation(Model m)
    {
        ISemanticValue subDenotation = sub.Denotation(m);

        return(new TruthValue(Negate(((TruthValue)subDenotation).Get())));
    }