
APT.Arithmetic-smem.arithmetic.generate-facts.soar Maven / Gradle / Ivy
sp {arithmetic*propose*generate-facts
(state ^name arithmetic
-^arithmetic.facts)
-->
( ^operator + =, >)
( ^name generate-facts)
}
# comment out this rule (and all smem add commands
# in _firstload) to have a sub-goal store all these
# facts using rules
sp {arithmetic*apply*generate-facts*smem
(state ^operator.name generate-facts
^parameters.fact-source smem)
-->
( ^arithmetic.facts preloaded)
}
sp {arithmetic*apply*generate-facts*add*sub
(state ^operator.name generate-facts
^parameters.fact-source wm)
-->
( ^arithmetic.facts
)
( ^digit1 0 ^digit2 0 ^sum 0 ^carry-borrow 0)
( ^digit1 0 ^digit2 1 ^sum 1 ^carry-borrow 0)
( ^digit1 0 ^digit2 2 ^sum 2 ^carry-borrow 0)
( ^digit1 0 ^digit2 3 ^sum 3 ^carry-borrow 0)
( ^digit1 0 ^digit2 4 ^sum 4 ^carry-borrow 0)
( ^digit1 0 ^digit2 5 ^sum 5 ^carry-borrow 0)
( ^digit1 0 ^digit2 6 ^sum 6 ^carry-borrow 0)
( ^digit1 0 ^digit2 7 ^sum 7 ^carry-borrow 0)
( ^digit1 0 ^digit2 8 ^sum 8 ^carry-borrow 0)
( ^digit1 0 ^digit2 9 ^sum 9 ^carry-borrow 0)
( ^digit1 1 ^digit2 0 ^sum 1 ^carry-borrow 0)
( ^digit1 1 ^digit2 1 ^sum 2 ^carry-borrow 0)
( ^digit1 1 ^digit2 2 ^sum 3 ^carry-borrow 0)
( ^digit1 1 ^digit2 3 ^sum 4 ^carry-borrow 0)
( ^digit1 1 ^digit2 4 ^sum 5 ^carry-borrow 0)
( ^digit1 1 ^digit2 5 ^sum 6 ^carry-borrow 0)
( ^digit1 1 ^digit2 6 ^sum 7 ^carry-borrow 0)
( ^digit1 1 ^digit2 7 ^sum 8 ^carry-borrow 0)
( ^digit1 1 ^digit2 8 ^sum 9 ^carry-borrow 0)
( ^digit1 1 ^digit2 9 ^sum 0 ^carry-borrow 1)
( ^digit1 2 ^digit2 0 ^sum 2 ^carry-borrow 0)
( ^digit1 2 ^digit2 1 ^sum 3 ^carry-borrow 0)
( ^digit1 2 ^digit2 2 ^sum 4 ^carry-borrow 0)
( ^digit1 2 ^digit2 3 ^sum 5 ^carry-borrow 0)
( ^digit1 2 ^digit2 4 ^sum 6 ^carry-borrow 0)
( ^digit1 2 ^digit2 5 ^sum 7 ^carry-borrow 0)
( ^digit1 2 ^digit2 6 ^sum 8 ^carry-borrow 0)
( ^digit1 2 ^digit2 7 ^sum 9 ^carry-borrow 0)
( ^digit1 2 ^digit2 8 ^sum 0 ^carry-borrow 1)
( ^digit1 2 ^digit2 9 ^sum 1 ^carry-borrow 1)
( ^digit1 3 ^digit2 0 ^sum 3 ^carry-borrow 0)
( ^digit1 3 ^digit2 1 ^sum 4 ^carry-borrow 0)
( ^digit1 3 ^digit2 2 ^sum 5 ^carry-borrow 0)
( ^digit1 3 ^digit2 3 ^sum 6 ^carry-borrow 0)
( ^digit1 3 ^digit2 4 ^sum 7 ^carry-borrow 0)
( ^digit1 3 ^digit2 5 ^sum 8 ^carry-borrow 0)
( ^digit1 3 ^digit2 6 ^sum 9 ^carry-borrow 0)
( ^digit1 3 ^digit2 7 ^sum 0 ^carry-borrow 1)
( ^digit1 3 ^digit2 8 ^sum 1 ^carry-borrow 1)
( ^digit1 3 ^digit2 9 ^sum 2 ^carry-borrow 1)
( ^digit1 4 ^digit2 0 ^sum 4 ^carry-borrow 0)
( ^digit1 4 ^digit2 1 ^sum 5 ^carry-borrow 0)
( ^digit1 4 ^digit2 2 ^sum 6 ^carry-borrow 0)
( ^digit1 4 ^digit2 3 ^sum 7 ^carry-borrow 0)
( ^digit1 4 ^digit2 4 ^sum 8 ^carry-borrow 0)
( ^digit1 4 ^digit2 5 ^sum 9 ^carry-borrow 0)
( ^digit1 4 ^digit2 6 ^sum 0 ^carry-borrow 1)
( ^digit1 4 ^digit2 7 ^sum 1 ^carry-borrow 1)
( ^digit1 4 ^digit2 8 ^sum 2 ^carry-borrow 1)
( ^digit1 4 ^digit2 9 ^sum 3 ^carry-borrow 1)
( ^digit1 5 ^digit2 0 ^sum 5 ^carry-borrow 0)
( ^digit1 5 ^digit2 1 ^sum 6 ^carry-borrow 0)
( ^digit1 5 ^digit2 2 ^sum 7 ^carry-borrow 0)
( ^digit1 5 ^digit2 3 ^sum 8 ^carry-borrow 0)
( ^digit1 5 ^digit2 4 ^sum 9 ^carry-borrow 0)
( ^digit1 5 ^digit2 5 ^sum 0 ^carry-borrow 1)
( ^digit1 5 ^digit2 6 ^sum 1 ^carry-borrow 1)
( ^digit1 5 ^digit2 7 ^sum 2 ^carry-borrow 1)
( ^digit1 5 ^digit2 8 ^sum 3 ^carry-borrow 1)
( ^digit1 5 ^digit2 9 ^sum 4 ^carry-borrow 1)
( ^digit1 6 ^digit2 0 ^sum 6 ^carry-borrow 0)
( ^digit1 6 ^digit2 1 ^sum 7 ^carry-borrow 0)
( ^digit1 6 ^digit2 2 ^sum 8 ^carry-borrow 0)
( ^digit1 6 ^digit2 3 ^sum 9 ^carry-borrow 0)
( ^digit1 6 ^digit2 4 ^sum 0 ^carry-borrow 1)
( ^digit1 6 ^digit2 5 ^sum 1 ^carry-borrow 1)
( ^digit1 6 ^digit2 6 ^sum 2 ^carry-borrow 1)
( ^digit1 6 ^digit2 7 ^sum 3 ^carry-borrow 1)
( ^digit1 6 ^digit2 8 ^sum 4 ^carry-borrow 1)
( ^digit1 6 ^digit2 9 ^sum 5 ^carry-borrow 1)
( ^digit1 7 ^digit2 0 ^sum 7 ^carry-borrow 0)
( ^digit1 7 ^digit2 1 ^sum 8 ^carry-borrow 0)
( ^digit1 7 ^digit2 2 ^sum 9 ^carry-borrow 0)
( ^digit1 7 ^digit2 3 ^sum 0 ^carry-borrow 1)
( ^digit1 7 ^digit2 4 ^sum 1 ^carry-borrow 1)
( ^digit1 7 ^digit2 5 ^sum 2 ^carry-borrow 1)
( ^digit1 7 ^digit2 6 ^sum 3 ^carry-borrow 1)
( ^digit1 7 ^digit2 7 ^sum 4 ^carry-borrow 1)
( ^digit1 7 ^digit2 8 ^sum 5 ^carry-borrow 1)
( ^digit1 7 ^digit2 9 ^sum 6 ^carry-borrow 1)
( ^digit1 8 ^digit2 0 ^sum 8 ^carry-borrow 0)
( ^digit1 8 ^digit2 1 ^sum 9 ^carry-borrow 0)
( ^digit1 8 ^digit2 2 ^sum 0 ^carry-borrow 1)
( ^digit1 8 ^digit2 3 ^sum 1 ^carry-borrow 1)
( ^digit1 8 ^digit2 4 ^sum 2 ^carry-borrow 1)
( ^digit1 8 ^digit2 5 ^sum 3 ^carry-borrow 1)
( ^digit1 8 ^digit2 6 ^sum 4 ^carry-borrow 1)
( ^digit1 8 ^digit2 7 ^sum 5 ^carry-borrow 1)
( ^digit1 8 ^digit2 8 ^sum 6 ^carry-borrow 1)
( ^digit1 8 ^digit2 9 ^sum 7 ^carry-borrow 1)
( ^digit1 9 ^digit2 0 ^sum 9 ^carry-borrow 0)
( ^digit1 9 ^digit2 1 ^sum 0 ^carry-borrow 1)
( ^digit1 9 ^digit2 2 ^sum 1 ^carry-borrow 1)
( ^digit1 9 ^digit2 3 ^sum 2 ^carry-borrow 1)
( ^digit1 9 ^digit2 4 ^sum 3 ^carry-borrow 1)
( ^digit1 9 ^digit2 5 ^sum 4 ^carry-borrow 1)
( ^digit1 9 ^digit2 6 ^sum 5 ^carry-borrow 1)
( ^digit1 9 ^digit2 7 ^sum 6 ^carry-borrow 1)
( ^digit1 9 ^digit2 8 ^sum 7 ^carry-borrow 1)
( ^digit1 9 ^digit2 9 ^sum 8 ^carry-borrow 1)
}
sp {arithmetic*apply*generate-facts*sub
(state ^operator.name generate-facts
^parameters.fact-source wm)
-->
( ^arithmetic.subtraction-facts