Mercurial > hg > Papers > 2021 > soto-prosym
view Paper/src/agda-term.agda.replaced @ 14:393c839f987b default tip
DONE
author | soto <soto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 08 Jan 2022 12:41:39 +0900 |
parents | 339fb67b4375 |
children |
line wrap: on
line source
module agda-term where open import Data.Nat.Base open import Relation.Binary.PropositionalEquality +zero : {y : !$\mathbb{N}$!} !$\rightarrow$! y + zero !$\equiv$! y +zero {zero} = refl +zero {suc y} = cong (!$\lambda$! yy !$\rightarrow$! suc yy) (+zero {y}) +-suc : {x y : !$\mathbb{N}$!} !$\rightarrow$! x + suc y !$\equiv$! suc (x + y) +-suc {zero} {y} = refl +-suc {suc x} {y} = cong suc (+-suc {x} {y}) +-comm : (x y : !$\mathbb{N}$!) !$\rightarrow$! x + y !$\equiv$! y + x +-comm zero y rewrite (+zero {y}) = refl +-comm (suc x) y = let open !$\equiv$!-Reasoning in begin suc (x + y) !$\equiv$!!$\langle$!!$\rangle$! suc (x + y) !$\equiv$!!$\langle$! cong suc (+-comm x y) !$\rangle$! suc (y + x) !$\equiv$!!$\langle$! sym (+-suc {y} {x}) !$\rangle$! y + suc x !$\blacksquare$! +-come : (x y : !$\mathbb{N}$!) !$\rightarrow$! x + y !$\equiv$! y + x +-come zero y rewrite (+zero {y}) = refl +-come (suc x) y rewrite (cong suc (+-come x y)) | sym (+-suc {y} {x}) = refl