annotate Paper/src/Reasoning.agda.replaced @ 5:339fb67b4375

INIT rbt.agda
author soto <soto@cr.ie.u-ryukyu.ac.jp>
date Sun, 07 Nov 2021 00:51:16 +0900
parents c59202657321
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 open import Relation.Binary.PropositionalEquality
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import nat
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 open import nat_add
5
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
4 open !$\equiv$!-Reasoning
0
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 module nat_add_sym_reasoning where
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
5
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
8 addToRight : (n m : Nat) !$\rightarrow$! S (n + m) !$\equiv$! n + (S m)
0
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 addToRight O m = refl
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 addToRight (S n) m = cong S (addToRight n m)
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
5
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
12 addSym : (n m : Nat) !$\rightarrow$! n + m !$\equiv$! m + n
0
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 addSym O O = refl
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 addSym O (S m) = cong S (addSym O m)
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 addSym (S n) O = cong S (addSym n O)
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 addSym (S n) (S m) = begin
5
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
17 (S n) + (S m) !$\equiv$!!$\langle$! refl !$\rangle$!
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
18 S (n + S m) !$\equiv$!!$\langle$! cong S (addSym n (S m)) !$\rangle$!
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
19 S ((S m) + n) !$\equiv$!!$\langle$! addToRight (S m) n !$\rangle$!
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
20 S (m + S n) !$\equiv$!!$\langle$! refl !$\rangle$!
339fb67b4375 INIT rbt.agda
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
21 (S m) + (S n) !$\blacksquare$!