# HG changeset patch # User Shinji KONO # Date 1613228963 -32400 # Node ID 250c1d4e683b07162355db34361fe4400ef0116c # Parent 69dc3096fa721162d1d677195e8e102f1ed6baeb ... diff -r 69dc3096fa72 -r 250c1d4e683b hoare.agda --- a/hoare.agda Sat Feb 13 16:29:52 2021 +0900 +++ b/hoare.agda Sun Feb 14 00:09:23 2021 +0900 @@ -2,10 +2,12 @@ module hoare where open import Data.Nat -open import Data.Bool hiding (_≤?_ ; _≤_) -open import Data.Product renaming ( _×_ to _/\_ ) +open import Data.Nat.Properties +-- open import Data.Bool hiding (_≤?_ ; _≤_) +-- open import Data.Product renaming ( _×_ to _/\_ ) open import Relation.Binary.PropositionalEquality open import Relation.Nullary using (¬_; Dec; yes; no) +open import logic record Env : Set (Suc Zero) where field @@ -28,11 +30,12 @@ lt zero (suc _) = true lt (suc x) (suc y) = lt x y -_-_ : ℕ → ℕ → ℕ -zero - zero = zero -zero - suc y = zero -suc x - zero = suc x -suc x - suc y = x - y +open import nat +-- _-_ : ℕ → ℕ → ℕ +-- zero - zero = zero +-- zero - suc y = zero +-- suc x - zero = suc x +-- suc x - suc y = x - y {-# TERMINATING #-} whileLoop : {t : Set (Suc Zero)} → Env → (Env → t) → t @@ -58,11 +61,19 @@ where env1 = record env {varn = (varn env) - 1 ; vari = (vari env) + 1} proof3 : varn env + vari env ≡ c10 → (suc zero ≤ (varn env)) → varn env1 + vari env1 ≡ c10 - proof3 = {!!} + proof3 n+i=c 0 : { x y : ℕ } → x < y → y < x → ⊥ nat-<> (s≤s x x