annotate sandbox/modus-ponens.agda @ 77:a2e6f61d5f2b default tip

Add modus-ponens
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Thu, 09 Feb 2017 06:32:03 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 module modus-ponens where
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 data _×_ (A B : Set) : Set where
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 <_,_> : A -> B -> A × B
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 fst : {A B : Set} -> A × B -> A
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 fst < a , _ > = a
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 snd : {A B : Set} -> A × B -> B
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 snd < _ , b > = b
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 f : {A B C : Set} -> (A -> B) × (B -> C) -> (A -> C)
a2e6f61d5f2b Add modus-ponens
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 f = (\p x -> snd p ((fst p) x))