import "StandardLibrary" mapping relation Fib Integer Integer rule FibRecurrence where @when Fib ?n (?a + ?b) ?n >= 2 @where Fib (?n-1) ?b Fib (?n-2) ?a rule Init where @when Fib ?x 1 ?x < 2 rule Seed where @where Fib 20 ?hmm rule PrintIt where @when Fib ?n ?a @to Execute (print "\(?n) -> \(?a)") main = transformation OneShotForward where -- 20 -> 10946 19 -> 6765 18 -> 4181 17 -> 2584 16 -> 1597 15 -> 987 14 -> 610 13 -> 377 12 -> 233 11 -> 144 10 -> 89 9 -> 55 8 -> 34 7 -> 21 6 -> 13 5 -> 8 4 -> 5 3 -> 3 2 -> 2 1 -> 1 0 -> 1 ()