{-# OPTIONS --allow-unsolved-metas #-}
{-
'(agda-input-user-translations
(quote
(("i" "β") ("e" "β’") ("t" "β©")
("f" "π") ("f2" "πΒ²") ("f3" "πΒ³") ("fn" "πβΏ")
("v" "π£") ("v2" "π£Β²") ("v3" "π£Β³") ("vn" "π£βΏ")
("l" "π") ("l2" "πΒ²") ("l3" "πΒ³") ("ln" "πβΏ")
("o" "β") ("o2" "βΒ²") ("o3" "βΒ³") ("on" "ββΏ")
("p" "π") ("p2" "πΒ²") ("p3" "πΒ³") ("pn" "πβΏ")
("1" "πβ") ("12" "πβΒ²") ("13" "πβΒ³") ("1n" "πββΏ")
("2" "πβ") ("22" "πβΒ²") ("23" "πβΒ³") ("2n" "πββΏ")
("u" "β") ("u2" "βΒ²") ("u3" "βΒ³") ("un" "ββΏ")
("d" "β") ("d2" "βΒ²") ("d3" "βΒ³") ("dn" "ββΏ"))))
-}
module A201602.Try6 where
open import Data.Fin using (Fin; zero; suc; toβ)
open import Data.Nat using (β; zero; suc; _+_)
open import Data.Product using (Ξ£; _Γ_; _,_)
data Vec (X : Set) : β β Set where
β
: Vec X zero
_,_ : β{n} β Vec X n β X β Vec X (suc n)
data _β_ {X : Set} : β{n} β X β Vec X n β Set where
Z : β{n x} {xs : Vec X n}
β x β (xs , x)
S_ : β{n x y} {xs : Vec X n}
β x β xs
β x β (xs , y)
Pr : Set
Pr = β
Cx : β β Set
Cx = Vec Pr
mutual
infixl 7 _β_
infixr 5 π_
-- infixl 3 _β§_
infixr 2 _β_
infixl 1 _β·_
infixr 0 _β_β’_
data Ty {m : β} (Ξ : Cx m) : Set where
Ξ±_ : Pr β Ty Ξ
_β_ : Ty Ξ β Ty Ξ β Ty Ξ
-- _β§_ : Ty Ξ β Ty Ξ β Ty Ξ
data Ass {n m : β} (Ξ : Cx m) (Ξ : Cx n) : Set where
Ο_ : Ty Ξ β Ass Ξ Ξ
_β·_ : (A : Ass Ξ Ξ) β Ξ β Ξ β’ A β Ass Ξ Ξ
data _β_β’_ {m n : β} (Ξ : Cx m) (Ξ : Cx n) : Ass Ξ Ξ β Set where
π_ : β{A}
β A β Ξ
β Ξ β Ξ β’ Ο Ξ± A
πΒ²_ : β{A}
β (x : A β Ξ)
β Ξ β Ξ β’ Ο Ξ± A β· π x
πΒ³_ : β{A}
β (x : A β Ξ)
β Ξ β Ξ β’ Ο Ξ± A β· π x β· πΒ² x
π£_ : β{A}
β A β Ξ
β Ξ β Ξ β’ Ο Ξ± A
π£Β²_ : β{A}
β (x : A β Ξ)
β Ξ β Ξ β’ Ο Ξ± A β· π£ x
π£Β³_ : β{A}
β (x : A β Ξ)
β Ξ β Ξ β’ Ο Ξ± A β· π£ x β· π£Β² x
π_ : β{A B}
β Ξ β Ξ , A β’ Ο B
β Ξ β Ξ β’ Ο (Ξ± A β B)
πΒ²_ : β{A B t}
β Ξ β Ξ , A β’ Ο B β· t
β Ξ β Ξ β’ Ο (Ξ± A β B) β· π t
πΒ³_ : β{A B t tβ}
β Ξ β Ξ , A β’ Ο B β· t β· tβ
β Ξ β Ξ β’ Ο (Ξ± A β B) β· π t β· πΒ² tβ
_β_ : β{A B}
β Ξ β Ξ β’ Ο (A β B) β Ξ β Ξ β’ Ο A
β Ξ β Ξ β’ Ο B
_βΒ²_ : β{A B t s}
β Ξ β Ξ β’ Ο (A β B) β· t β Ξ β Ξ β’ Ο A β· s
β Ξ β Ξ β’ Ο B β· t β s
_βΒ³_ : β{A B t tβ s sβ}
β Ξ β Ξ β’ Ο (A β B) β· t β· tβ β Ξ β Ξ β’ Ο A β· s β· sβ
β Ξ β Ξ β’ Ο B β· t β s β· tβ βΒ² sβ
tI : β{A} β β
β β
β’ Ο (Ξ± A β Ξ± A)
tI = π π£ Z
tK : β{A B} β β
β β
β’ Ο (Ξ± A β Ξ± B β Ξ± A)
tK = π π π£ S Z
tS : β{A B C} β β
β β
β’ Ο ((Ξ± A β Ξ± B β Ξ± C) β (Ξ± A β Ξ± B) β Ξ± A β Ξ± C)
tS = {!π ?!}
-- _π_ : β{A B}
-- β Ξ β Ξ β’ A β Ξ β Ξ β’ B
-- β Ξ β Ξ β’ A β§ B
-- πβ_ : β{A B}
-- β Ξ β Ξ β’ A β§ B
-- β Ξ β Ξ β’ A
-- πβ_ : β{A B}
-- β Ξ β Ξ β’ A β§ B
-- β Ξ β Ξ β’ B
-- !_ : β{A}
-- β Ξ β Ξ β’ A
-- β Ξ β Ξ β’ A
-- {- β_ : β{A u}
-- β (t : Ξ β β
β’ A β· u)
-- β Ξ β Ξ β’ A β· u β· ! t
-- β_ : β{A t}
-- β Ξ β Ξ β’ A β· t
-- β Ξ β Ξ β’ A-}
-- -- TTm : β{m} (Ξ : PCx m) β Ty Ξ β Set
-- -- TTm Ξ A = β{n} {Ξ : TCx Ξ n} β Ξ β Ξ β’ A
-- -- TTTm : Ty β
β Set
-- -- TTTm = TTm β
-- -- TTTI : β{A} β TTTm (A β A)
-- -- TTTI = π π£ Z
-- -- TTTK : β{A B} β TTTm (A β B β A)
-- -- TTTK = π π π£ S Z
-- -- TTTS : β{A B C} β TTTm ((A β B β C) β (A β B) β A β C)
-- -- TTTS = π π π (π£ S S Z β π£ Z) β (π£ S Z β π£ Z)
-- -- --axT : β{x A} β TTm (β
, x) ((A β· π Z) β A β· π β π£ Z)
-- -- --axT = {!!}
-- -- --axK : β{f x A} β TTm (β
, f , x) (A β B β·