Mercurial > hg > Members > kono > Proof > category
diff system-f.agda @ 350:c483374f542b
try equalizer from limit
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 24 Dec 2014 12:00:16 +0900 |
parents | 5858351ac1b9 |
children | 6b4bd02efd80 |
line wrap: on
line diff
--- a/system-f.agda Sun May 04 11:01:36 2014 +0900 +++ b/system-f.agda Wed Dec 24 12:00:16 2014 +0900 @@ -1,10 +1,12 @@ +{-# OPTIONS --universe-polymorphism #-} + open import Level open import Relation.Binary.PropositionalEquality module system-f where -Bool : {l : Level} (X : Set l) → Set l -Bool = λ{l : Level} → λ(X : Set l) → X → X → X +Bool : {l : Level} → Set l → Set l +Bool {l} = λ(X : Set l) → X → X → X T : {l : Level} (X : Set l) → Bool X T X = λ(x y : X) → x @@ -23,7 +25,7 @@ _×_ : {l : Level} → Set l → Set l → Set (suc l) _×_ {l} U V = {X : Set l} → (U → V → X) → X - + <_,_> : {l : Level} {U V : Set l} → U → V → (U × V) <_,_> {l} {U} {V} u v = λ{X} → λ(x : U → V → X) → x u v @@ -57,33 +59,28 @@ --lemma103 : {l : Level} {U V : Set l} → (u : U) → (t : Emp ) → (ε t (U → V) ) u ≡ ε t V --lemma103 u t = e1 t u -Emp : {l : Level } → Set l → Set l -Emp {l} = λ X → X - --- Emp is not allowed because Emp is not a Set of any level +Emp : {l : Level } → Set (suc l) +Emp {l} = {X : Set l} → X --- ε : {l : Level} (U : Set l) → Emp → U --- ε {l} U t = t U +-- ε : {l : Level} {U : Set l} → Emp {l} → U +-- ε {l} {U} t = t U --- lemma103 : {l : Level} {U V : Set l} → (u : U) → (t : Emp ) → (ε (U → V) t) u ≡ ε V t +-- lemma103 : {l : Level} {U V : Set l} → (u : U) → (t : Emp {l} ) → (ε {l} {U → V} t) u ≡ ε {l} {V} t -- lemma103 u t = refl --- lemma09 : {l : Level} {U : Set l} → (t : Emp ) → ε U (ε Emp t) ≡ ε U t +-- lemma09 : {l : Level} {U : Set l} → (t : Emp ) → ε {l} {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 ) → Emp --- lemma10' {l} {U} {V} {X} t = ε (U × V) t +-- lemma10 : {l : Level} {U V X : Set l} → (t : Emp ) → U × V +-- lemma10 {l} {U} {V} t = ε {suc l} {U × V} t -- lemma100 : {l : Level} {U V X : Set l} → (t : Emp ) → Emp --- lemma100 {l} {U} {V} t = ε U t +-- lemma100 {l} {U} {V} t = ε {_} {U} t --- lemma101 : {l k : Level} {U V : Set l} → (t : Emp ) → π1 (ε (U × V) t) ≡ ε U t +-- lemma101 : {l : Level} {U V : Set l} → (t : Emp ) → π1 (ε {suc l} {U × V} t) ≡ ε {l} {U} t -- lemma101 t = refl --- lemma102 : {l k : Level} {U V : Set l} → (t : Emp ) → π2 (ε (U × V) t) ≡ ε V t +-- lemma102 : {l : Level} {U V : Set l} → (t : Emp ) → π2 (ε {_} {U × V} t) ≡ ε {_} {V} t -- lemma102 t = refl