Mercurial > hg > Papers > 2020 > soto-midterm
diff src/agda-term.agda.replaced @ 1:73127e0ab57c
(none)
author | soto@cr.ie.u-ryukyu.ac.jp |
---|---|
date | Tue, 08 Sep 2020 18:38:08 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/agda-term.agda.replaced Tue Sep 08 18:38:08 2020 +0900 @@ -0,0 +1,28 @@ +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 + +