Example #1
0
def exposed_modifier(asker, rep):
    head = asker.ask(fields.get_field(representations.head(), rep)).answer
    if head is None:
        return asker.reply(answer=T.no())
    else:
        result = strings.to_str(asker, head) not in hidden_modifier_heads
        return asker.reply(answer=T.from_bool(result))
Example #2
0
 def deny(self):
     return self.reply(answer=T.from_bool(False))
Example #3
0
 def affirm(self):
     return self.reply(answer=T.from_bool(True))
Example #4
0
def both(asker, a, b):
    for x in [a, b]:
        if not to_bool(asker, x):
            return asker.reply(answer=T.from_bool(False))
    return asker.reply(answer=T.from_bool(True))
Example #5
0
def either(asker, a, b):
    for x in [a, b]:
        if to_bool(asker, x):
            return asker.reply(answer=T.from_bool(True))
    return asker.reply(answer=T.from_bool(False))
Example #6
0
def irreducible(asker, rep):
    head = asker.ask(fields.get_field(representations.head(), rep)).firm_answer
    result = strings.to_str(asker, head) not in reducible_heads
    return asker.reply(answer=T.from_bool(result))
    #FIXME this is much cleaner, but too slow; at any rate could remove duplicate code
    return asker.ask_tail(properties.check(opposite(reducible()), rep))
Example #7
0
def check_trivial_default(asker, property):
    if properties.check_firmly(asker, irreducible(), property):
        return asker.reply(answer=T.from_bool(False))
Example #8
0
def reducible(asker, rep):
    head = asker.ask(fields.get_field(representations.head(), rep)).firm_answer
    result = strings.to_str(asker, head) in reducible_heads
    return asker.reply(answer=T.from_bool(result))
def trivial_is_trivial(asker):
    return asker.reply(answer=T.from_bool(True))
Example #10
0
def trivial(asker, object):
    return asker.reply(answer=T.from_bool(True))
Example #11
0
 def give_up(asker, m):
     return T.from_bool(False)
Example #12
0
 def direct_inference(asker):
     return T.from_bool(True)