12.62/11.52 MAYBE 12.62/11.52 We consider the system theBenchmark. 12.62/11.52 12.62/11.52 Alphabet: 12.62/11.52 12.62/11.52 !plus : [nat * nat] --> nat 12.62/11.52 0 : [] --> nat 12.62/11.52 dec : [nat * nat] --> nat 12.62/11.52 grec : [nat * nat * nat * nat -> nat -> nat] --> nat 12.62/11.52 log2 : [nat * nat] --> nat 12.62/11.52 s : [nat] --> nat 12.62/11.52 sumlog : [nat] --> nat 12.62/11.52 12.62/11.52 Rules: 12.62/11.52 12.62/11.52 dec(0, x) => 0 12.62/11.52 dec(x, 0) => x 12.62/11.52 dec(s(x), s(y)) => dec(x, y) 12.62/11.52 grec(0, x, y, f) => y 12.62/11.52 grec(s(x), s(y), z, f) => grec(dec(x, y), s(y), f z x, f) 12.62/11.52 sumlog(x) => grec(x, s(s(0)), 0, /\y./\z.!plus(log2(s(z), 0), y)) 12.62/11.52 !plus(0, x) => x 12.62/11.52 !plus(s(x), y) => s(!plus(x, y)) 12.62/11.52 log2(s(0), 0) => 0 12.62/11.52 log2(0, s(x)) => s(log2(s(x), 0)) 12.62/11.52 log2(s(0), s(x)) => s(log2(s(x), 0)) 12.62/11.52 log2(s(s(x)), y) => log2(x, s(y)) 12.62/11.52 12.62/11.52 This AFS is converted to an AFSM simply by replacing all free variables by meta-variables (with arity 0). 12.62/11.52 12.62/11.54 EOF