Mercurial > hg > Members > kono > Proof > category
changeset 321:33c6dd3598ca
Emp with yellow
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 19 Mar 2014 16:51:35 +0700 |
parents | 71158a960aa8 |
children | 477d5284d753 |
files | system-f.agda |
diffstat | 1 files changed, 26 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/system-f.agda Mon Mar 17 21:29:45 2014 +0700 +++ b/system-f.agda Wed Mar 19 16:51:35 2014 +0700 @@ -41,17 +41,17 @@ lemma05 : {u v : U} -> D u v F ≡ v lemma05 = refl -_×_ : Set l -> Set l -> Set (suc l) -U × V = {X : Set l} -> (U -> V -> X) -> X +_×_ : {l : Level} -> Set l -> Set l -> Set (suc l) +_×_ {l} U V = {X : Set l} -> (U -> V -> X) -> X -<_,_> : {U V : Set l} -> U -> V -> (U × V) -<_,_> {U} {V} u v = \{X} -> \(x : U -> V -> X) -> x u v +<_,_> : {l : Level} {U V : Set l} -> U -> V -> (U × V) +<_,_> {l} {U} {V} u v = \{X} -> \(x : U -> V -> X) -> x u v -π1 : {U V : Set l} -> (U × V) -> U -π1 {U} {V} t = t {U} (\(x : U) -> \(y : V) -> x) +π1 : {l : Level} {U V : Set l} -> (U × V) -> U +π1 {l} {U} {V} t = t {U} (\(x : U) -> \(y : V) -> x) -π2 : {U V : Set l} -> (U × V) -> V -π2 {U} {V} t = t {V} (\(x : U) -> \(y : V) -> y) +π2 : {l : Level} {U V : Set l} -> (U × V) -> V +π2 {l} {U} {V} t = t {V} (\(x : U) -> \(y : V) -> y) lemma06 : {U V : Set l } -> {u : U } -> {v : V} -> π1 ( < u , v > ) ≡ u lemma06 = refl @@ -67,20 +67,29 @@ -- Emp definision is still wrong... -Emp : {l : Level} {X : Set l} -> Set l +Emp : ∀{l : Level} {X : Set l} -> Set l Emp {l} = \{X : Set l} -> X -ε : {l l' : Level} (U : Set l) -> ((X : Set l) -> Emp {l} {X}) -> Emp {l} {U} -ε U t = t U +ε : {l : Level} {U : Set l} -> Emp -> Emp +ε {l} {U} t = t {l} {U} -lemma09 : {l l' : Level} {U : Set l} -> {t : (X' : Set (suc l)) -> Emp } -> ε U (ε Emp t) ≡ ε U ? -lemma09 = 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 : {U V : Set l} -> {t : U × V } -> π1 ( ε ( U × V ) {!!} ) ≡ ε U {!!} -lemma10 = refl +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 : {U V : Set l} -> {t : U × V } -> π2 ( ε {_} { U × V } t ) ≡ ε {_} {V} t --- lemma101 = 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 _+_ : Set l -> Set l -> Set (suc l) U + V = {X : Set l} -> ( U -> X ) -> (V -> X) -> X