diff cbc/maybe-subtype.agda @ 60:bd428bd6b394

Trying define n-push/n-pop
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Sat, 14 Jan 2017 00:00:40 +0000
parents 352e8a724829
children
line wrap: on
line diff
--- a/cbc/maybe-subtype.agda	Thu Jan 12 02:48:09 2017 +0000
+++ b/cbc/maybe-subtype.agda	Sat Jan 14 00:00:40 2017 +0000
@@ -1,31 +1,19 @@
-module maybe-subtype (A : Set) where
-
 open import Level
+open import Data.Maybe
 open import Function using (id)
 open import Relation.Binary.PropositionalEquality
 
-data Maybe (A : Set) : Set where
-  nothing : Maybe A
-  just    : A -> Maybe A
+module maybe-subtype (A : Set)  where
 
 
-record Context (A : Set) : Set where
-  field
-    maybeElem : Maybe A
+record Context : Set where
 
-open import subtype (Context A) as N
+open import subtype Context as N
 
 
 record Meta (A : Set) : Set where
   field
-    context : Context A
+    context   : Context
+    maybeElem : Maybe A
 
 
-open import subtype (Meta A) as M
-
-instance
-  MetaIsMetaDataSegment : M.DataSegment (Meta A)
-  MetaIsMetaDataSegment = record {get = (\mc -> mc) ; set = (\_ mc -> mc)}
-  ContextIsMetaDataSegment : M.DataSegment (Context A)
-  ContextIsMetaDataSegment = record {get = Meta.context ; set = (\mc c -> record mc {context = c})}
-