doc-src/Tutorial/Recdef/ack
changeset 9255 2ceb11a2e190
parent 6100 40d66bc3e83f
equal deleted inserted replaced
9254:f8a0e8b9bcd8 9255:2ceb11a2e190
     1 consts ack :: "nat*nat => nat"
     1 consts ack :: "nat*nat => nat"
     2 recdef ack "measure(%m. m) ** measure(%n. n)"
     2 recdef ack "measure(%m. m) <*lex*> measure(%n. n)"
     3   "ack(0,n)         = Suc n"
     3   "ack(0,n)         = Suc n"
     4   "ack(Suc m,0)     = ack(m, 1)"
     4   "ack(Suc m,0)     = ack(m, 1)"
     5   "ack(Suc m,Suc n) = ack(m,ack(Suc m,n))"
     5   "ack(Suc m,Suc n) = ack(m,ack(Suc m,n))"