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))
def orthogonal(asker, field1, field2): if booleans.ask_firmly(asker, builtins.equal(field1, field2)): return asker.reply(answer=T.no()) result = orthogonality_tester.dispatch(asker, field1, field2) if result is not None: return result result = orthogonality_tester.dispatch(asker, field2, field1) if result is not None: return result
def snoc_isnt_empty(asker): return asker.reply(answer=T.no())
def cons_isnt_empty(asker): return asker.reply(answer=T.no())
def yes_to_no(asker): return asker.reply(answer=T.no())
def opposite(a): if a.head == T.yes.head: return T.no() elif a.head == T.no.head: return T.yes() return T(opposite.head, a=a)