Mercurial > hg > Members > kono > Proof > category
changeset 322:477d5284d753
Int
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 19 Mar 2014 19:05:13 +0700 |
parents | 33c6dd3598ca |
children | d22a39e155c4 |
files | system-f.agda |
diffstat | 1 files changed, 38 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/system-f.agda Wed Mar 19 16:51:35 2014 +0700 +++ b/system-f.agda Wed Mar 19 19:05:13 2014 +0700 @@ -70,26 +70,26 @@ Emp : ∀{l : Level} {X : Set l} -> Set l Emp {l} = \{X : Set l} -> X -ε : {l : Level} {U : Set l} -> Emp -> Emp -ε {l} {U} t = t {l} {U} +-- ε : {l : Level} {U : Set l} -> Emp -> Emp +-- ε {l} {U} t = t {l} {U} -lemma09 : {l : Level} {U : Set l} -> (t : Emp) -> ε U (ε Emp t) ≡ ε U t -lemma09 t = refl +-- lemma09 : {l : Level} {U : Set l} -> (t : Emp) -> ε U (ε Emp t) ≡ ε U t +-- lemma09 t = refl -lemma10 : {l : Level} {U V X : Set l} -> (t : Emp ) -> (U × V) -lemma10 {l} {U} {V} t = ε (U × V) t +-- lemma10 : {l : Level} {U V X : Set l} -> (t : Emp ) -> (U × V) +-- lemma10 {l} {U} {V} t = ε (U × V) t -lemma100 : {l : Level} {U V X : Set l} -> (t : Emp ) -> Emp -lemma100 {l} {U} {V} t = ε U t +-- lemma100 : {l : Level} {U V X : Set l} -> (t : Emp ) -> Emp +-- lemma100 {l} {U} {V} t = ε U t -lemma101 : {l k : Level} {U V : Set l} -> (t : Emp ) -> π1 (ε (U × V) t) ≡ ε U t -lemma101 t = refl +-- lemma101 : {l k : Level} {U V : Set l} -> (t : Emp ) -> π1 (ε (U × V) t) ≡ ε U t +-- lemma101 t = refl -lemma102 : {l k : Level} {U V : Set l} -> (t : Emp ) -> π2 (ε (U × V) t) ≡ ε V t -lemma102 t = refl +-- lemma102 : {l k : Level} {U V : Set l} -> (t : Emp ) -> π2 (ε (U × V) t) ≡ ε V t +-- lemma102 t = refl -lemma103 : {l : Level} {U V : Set l} -> (u : U) -> (t : Emp) -> ε (U -> V) u ≡ ε V t -lemma103 u t = refl +-- lemma103 : {l : Level} {U V : Set l} -> (u : U) -> (t : Emp) -> ε (U -> V) u ≡ ε V t +-- lemma103 u t = refl _+_ : Set l -> Set l -> Set (suc l) U + V = {X : Set l} -> ( U -> X ) -> (V -> X) -> X @@ -110,14 +110,33 @@ lemma12 u v s = refl +_××_ : {l : Level} -> Set (suc l) -> Set l -> Set (suc l) +_××_ {l} U V = {X : Set l} -> (U -> V -> X) -> X + +<<_,_>> : {l : Level} {U : Set (suc l) } {V : Set l} -> U -> V -> (U ×× V) +<<_,_>> {l} {U} {V} u v = \{X} -> \(x : U -> V -> X) -> x u v +Int = \{l : Level } -> \{ X : Set l } -> X -> ( X -> X ) -> X + +Zero : {l : Level } -> { X : Set l } -> Int +Zero {l} {X} = \(x : X ) -> \(y : X -> X ) -> x + +S : {l : Level } -> { X : Set l } -> Int -> Int +S {l} {X} t = \(x : X) -> \(y : X -> X ) -> y ( t x y ) + +n1 : {l : Level } -> { X : Set l } -> Int {l} {X} +n1 {l} {X} = \(x : X ) -> \(y : X -> X ) -> y x + +n2 : {l : Level } -> { X : Set l } -> Int {l} {X} +n2 {l} {X} = \(x : X ) -> \(y : X -> X ) -> y (y x) + +lemma13 : {l : Level } -> { X : Set l } -> S ( S ( Zero {l} {X}) ) ≡ n2 +lemma13 {l} {X} = refl + +It : {l : Level} {U : Set l} -> U -> ( U -> U ) -> Int -> U +It {l} {U} u f t = t u f - - - - -