Mercurial > hg > Papers > 2022 > soto-sigos
view Paper/src/AgdaNPushNPop.agda.replaced @ 14:ba98083f9853 default tip
FIX
author | soto <soto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 27 May 2022 12:31:39 +0900 |
parents | 14a0e409d574 |
children |
line wrap: on
line source
n-push : {m : Meta} {{_ : M.DataSegment Meta}} (n : !$\mathbb{N}$!) !$\rightarrow$! M.CodeSegment Meta Meta n-push {{mm}} (zero) = M.cs {{mm}} {{mm}} id n-push {m} {{mm}} (suc n) = M.cs {{mm}} {{mm}} (\m !$\rightarrow$! M.exec {{mm}} {{mm}} (n-push {m} {{mm}} n) (pushOnce m)) n-pop : {m : Meta} {{_ : M.DataSegment Meta}} (n : !$\mathbb{N}$!) !$\rightarrow$! M.CodeSegment Meta Meta n-pop {{mm}} (zero) = M.cs {{mm}} {{mm}} id n-pop {m} {{mm}} (suc n) = M.cs {{mm}} {{mm}} (\m !$\rightarrow$! M.exec {{mm}} {{mm}} (n-pop {m} {{mm}} n) (popOnce m)) pop-n-push-type : !$\mathbb{N}$! !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! SingleLinkedStack !$\mathbb{N}$! !$\rightarrow$! Set!$\_{1}$! pop-n-push-type n cn ce s = M.exec (M.csComp {meta} (M.cs popOnce) (n-push {meta} (suc n))) meta !$\equiv$! M.exec (n-push {meta} n) meta where meta = id-meta cn ce s