Esempio n. 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))
Esempio n. 2
0
 def deny(self):
     return self.reply(answer=T.from_bool(False))
Esempio n. 3
0
 def affirm(self):
     return self.reply(answer=T.from_bool(True))
Esempio n. 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))
Esempio n. 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))
Esempio n. 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))
Esempio n. 7
0
def check_trivial_default(asker, property):
    if properties.check_firmly(asker, irreducible(), property):
        return asker.reply(answer=T.from_bool(False))
Esempio n. 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))
Esempio n. 9
0
def trivial_is_trivial(asker):
    return asker.reply(answer=T.from_bool(True))
Esempio n. 10
0
def trivial(asker, object):
    return asker.reply(answer=T.from_bool(True))
Esempio n. 11
0
 def give_up(asker, m):
     return T.from_bool(False)
Esempio n. 12
0
 def direct_inference(asker):
     return T.from_bool(True)