==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  nil
  sorts 'Foo .
  none
  op 'a : nil -> 'Foo [none] .
  none
  none
endfm, 'a.Foo) .
rewrites: 1
result ResultPair: {'a.Foo,'Foo}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  nil
  sorts 'Foo .
  none
  (op 'b : nil -> 'Foo [none] .
  op 'f : 'Foo -> 'Foo [strat(0)] .)
  op 'a : nil -> 'Foo [none] .
  none
  eq 'a.Foo = 'b.Foo [none] .
endfm, 'f['a.Foo]) .
rewrites: 1
result ResultPair: {'f['a.Foo],'Foo}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  nil
  sorts 'Foo .
  none
  (op 'b : nil -> 'Foo [none] .
  op 'f : 'Foo -> 'Foo [strat(1 0)] .)
  op 'a : nil -> 'Foo [none] .
  none
  eq 'a.Foo = 'b.Foo [none] .
endfm, 'f['a.Foo]) .
rewrites: 2
result ResultPair: {'f['b.Foo],'Foo}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  protecting 'STRING .
  sorts none .
  none
  none
  none
  none
endfm, '"a".String) .
rewrites: 1
result ResultPair: {'"a".Char,'Char}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  protecting 'STRING .
  sorts none .
  none
  none
  none
  none
endfm, '"this is a string".String) .
rewrites: 1
result ResultPair: {'"this is a string".String,'String}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  protecting 'STRING .
  sorts none .
  none
  none
  none
  none
endfm, '"this is\na string".String) .
rewrites: 1
result ResultPair: {'"this is\na string".String,'String}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  protecting 'STRING .
  sorts none .
  none
  none
  none
  none
endfm, '"\n".String) .
rewrites: 1
result ResultPair: {'"\n".Char,'Char}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  protecting 'FLOAT .
  sorts none .
  none
  none
  none
  none
endfm, 'pi.Float) .
rewrites: 2
result ResultPair: {'3.1415926535897931.FiniteFloat,'FiniteFloat}
==========================================
reduce in META-LEVEL : metaReduce(fmod 'FOO is
  protecting 'INT .
  sorts 'Foo .
  none
  op 'a : nil -> 'Foo [none] .
  none
  none
endfm, '_+_['s_['0.Int],'s_^12['0.Int]]) .
rewrites: 2
result ResultPair: {'s_^13['0.Zero],'NzNat}
Bye.
