~ubuntu-branches/ubuntu/wily/agda/wily-proposed

« back to all changes in this revision

Viewing changes to test/succeed/Issue44.agda

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2014-08-05 06:38:12 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20140805063812-io8e77niomivhd49
Tags: 2.4.0.2-1
* [6e140ac] Imported Upstream version 2.4.0.2
* [2049fc8] Update Build-Depends to match control
* [93dc4d4] Install the new primitives
* [e48f40f] Fix typo dev→doc

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
{-# OPTIONS --show-implicit #-}
2
 
module Issue44 where
3
 
 
4
 
data Ty : Set where
5
 
  ι : Ty
6
 
  _⇒_ : Ty -> Ty -> Ty
7
 
 
8
 
data Con : Set where
9
 
  ε : Con
10
 
  _<_ : Con -> Ty -> Con
11
 
 
12
 
data Var : Con -> Ty -> Set where
13
 
  vZ : forall {Γ σ} -> Var (Γ < σ) σ
14
 
  vS : forall {Γ σ}{τ : Ty} -> Var Γ σ -> Var (Γ < τ) σ
15
 
 
16
 
{-
17
 
stren : forall {Γ σ} -> Var Γ σ -> Con
18
 
stren (vZ {Γ}) = Γ
19
 
stren (vS {τ = τ} v) = stren v < τ
20
 
 
21
 
_/_ : forall Γ {σ} -> Var Γ σ -> Con
22
 
Γ / v = stren v
23
 
-}
24
 
 
25
 
 
26
 
_/_ : forall Γ {σ} -> Var Γ σ -> Con
27
 
Γ / v = stren v where
28
 
  stren : forall {Γ σ} -> Var Γ σ -> Con
29
 
  stren (vZ {Γ}) = Γ
30
 
  stren (vS {τ = τ} v) = stren v < τ
31
 
 
32
 
thin : forall {Γ σ τ}(v : Var Γ σ) -> Var (Γ / v) τ -> Var Γ τ
33
 
thin vZ v' = vS v'
34
 
thin (vS v) vZ = vZ
35
 
thin (vS v) (vS v') = vS (thin v v')