fmod MOD3 is
  generated-by NAT .
  eq s s s X:Nat = X:Nat .
endfm
fmod MOD3 is
  including BOOL .
  generated-by NAT .
  eq s_^3(X:Nat) = X:Nat .
endfm
==========================================
reduce in META-LEVEL : upModule('MOD3, false) .
rewrites: 1
result FModule: fmod 'MOD3 is
  including 'BOOL .
  generated-by 'NAT .
  sorts none .
  none
  none
  none
  eq 's_^3['X:Nat] = 'X:Nat [none] .
endfm
==========================================
reduce in META-LEVEL : metaReduce(upModule('MOD3, false), 's_^4['0.Nat]) .
rewrites: 3
result ResultPair: {'s_['0.Zero], 'NzNat}
fmod MOD4 is
  eq s s s s X:Nat = X:Nat .
endfm
fmod MOD4 is
  including BOOL .
  generated-by NAT .
  eq s_^4(X:Nat) = X:Nat .
endfm
==========================================
reduce in META-LEVEL : upModule('MOD4, false) .
rewrites: 1
result FModule: fmod 'MOD4 is
  including 'BOOL .
  generated-by 'NAT .
  sorts none .
  none
  none
  none
  eq 's_^4['X:Nat] = 'X:Nat [none] .
endfm
==========================================
reduce in META-LEVEL : metaReduce(upModule('MOD4, false), 's_^10['0.Nat]) .
rewrites: 4
result ResultPair: {'s_^2['0.Zero], 'NzNat}
Bye.
