public UpdateInfo update(ISemanticValue that) { if (!(that.GetType() == typeof(TruthValue))) { return(UpdateInfo.NoChange); } TruthValue other = (TruthValue)that; if (other.IsTrue()) { return(Add(true)); } if (other.IsFalse()) { return(Add(false)); } return(UpdateInfo.NoChange); }
// 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); }