Files
Sheerka-Old/sheerka_backup/numbers.sb
T
kodjo 7dcaa9c111 Fixed #29: Parsers: Implement parsing memoization
Fixed #77 : Parser: ShortTermMemoryParser should be called separately
Fixed #78 : Remove VariableNode usage
Fixed #79 : ConceptManager: Implement compile caching
Fixed #80 : SheerkaExecute : parsers_key is not correctly computed
Fixed #81 : ValidateConceptEvaluator : Validate concept's where and pre clauses right after the parsing
Fixed #82 : SheerkaIsAManager: isa() failed when the set as a body
Fixed #83 : ValidateConceptEvaluator : Support BNF and SYA Concepts
Fixed #84 : ExpressionParser: Implement the parser as a standard parser
Fixed #85 : Services: Give order to services
Fixed #86 : cannot manage smart_get_attr(the short, color)
2021-06-07 21:14:03 +02:00

97 lines
3.4 KiB
Plaintext

# define numbers
push_ontology("english")
def concept one as 1
def concept two as 2
def concept three as 3
def concept four as 4
def concept five as 5
def concept six as 6
def concept seven as 7
def concept eight as 8
def concept nine as 9
def concept ten as 10
def concept eleven as 11
def concept twelve as 12
def concept thirteen as 13
def concept fourteen as 14
def concept fifteen as 15
def concept sixteen as 16
def concept seventeen as 17
def concept eighteen as 18
def concept nineteen as 19
def concept twenty as 20
def concept number
set_isa(one, number)
set_isa(two, number)
set_isa(three, number)
set_isa(four, number)
set_isa(five, number)
set_isa(six, number)
set_isa(seven, number)
set_isa(eight, number)
set_isa(nine, number)
set_isa(ten, number)
set_isa(eleven, number)
set_isa(twelve, number)
set_isa(thirteen, number)
set_isa(fourteen, number)
set_isa(fifteen, number)
set_isa(sixteen, number)
set_isa(seventeen, number)
set_isa(eighteen, number)
set_isa(nineteen, number)
set_isa(twenty, number)
def concept twenties from bnf twenty number where number < 10 as twenty + number
set_isa(twenties, number)
def concept thirty as 30
set_isa(thirty, number)
def concept thirties from bnf thirty number where number < 10 as thirty + number
set_isa(thirties, number)
def concept forty as 40
set_isa(forty, number)
def concept forties from bnf forty number where number < 10 as forty + number
set_isa(forties, number)
def concept fifty as 50
set_isa(fifty, number)
def concept fifties from bnf fifty number where number < 10 as fifty + number
set_isa(fifties, number)
def concept sixty as 60
set_isa(sixty, number)
def concept sixties from bnf sixty number where number < 10 as sixty + number
set_isa(sixties, number)
def concept seventy as 70
set_isa(seventy, number)
def concept seventies from bnf seventy number where number < 10 as seventy + number
set_isa(seventies, number)
def concept eighty as 80
set_isa(eighty, number)
def concept eighties from bnf eighty number where number < 10 as eighty + number
set_isa(eighties, number)
def concept ninety as 90
set_isa(ninety, number)
def concept nineties from bnf ninety number where number < 10 as ninety + number
set_isa(nineties, number)
def concept one hundred as 100
set_isa(one hundred, number)
def concept hundreds from bnf number=n1 'hundred' 'and' number=n2 where n1 < 10 and n2 < 100 as n1 * 100 + n2
set_isa(hundreds, number)
def concept hundreds from bnf number 'hundred' where number < 10 as number * 100
set_isa(last_created_concept(), number)
def concept thousands from bnf number 'thousand' where number < 1000 as number * 1000
set_isa(thousands, number)
def concept thousands from bnf number=n1 'thousand' 'and' number=n2 as n1 * 1000 + n2 where n1 < 1000 and n2 < 1000
set_isa(last_created_concept(), number)
# define basic operations on numbers
def concept plus from a plus b as a + b
def concept minus from a minus b as a - b
def concept multiplied from a multiplied by b as a * b
def concept divided from a divided by b as a * b
set_is_greater_than(__PRECEDENCE, multiplied, plus, 'Sya')
set_is_greater_than(__PRECEDENCE, divided, plus, 'Sya')
set_is_greater_than(__PRECEDENCE, multiplied, minus, 'Sya')
set_is_greater_than(__PRECEDENCE, divided, minus, 'Sya')
def concept quantity
def concept quantify x from bnf number x where not isa(x, number) as set_attr(x, quantity, number) ret x
def concept how many x pre is_question() as get_attr(memory(x), quantity)