view paper/src/agda-hoare-term.agda @ 19:046b2b20d6c7 default tip

fix
author ryokka
date Mon, 09 Mar 2020 11:25:49 +0900
parents
children
line wrap: on
line source

loopP' : {l : Level} {t : Set l} → Envc → (exit : Envc → t) → t
loopP' record { c10 = c10 ; varn = zero ; vari = vari } exit =
  exit (record { c10 = c10 ; varn = zero ; vari = vari })
loopP' record { c10 = c10 ; varn = (suc varn₁) ; vari = vari } exit =
  whileLoopP' (record { c10 = c10 ; varn = (suc varn₁) ; vari = vari })
  (λ env → loopP' (record { c10 = c10 ; varn = varn₁ ; vari = vari }) exit ) exit

whileTestPCall' : (c10 :  ℕ ) → Envc
whileTestPCall' c10 = whileTestP' {_} {_} c10 (λ env → loopP' env (λ env →  env))

-- whileTestP' 10
-- record { c10 = 10 ; varn = 0 ; vari = 10 }