Skip to content

Instantly share code, notes, and snippets.

@AndyShiue
Created January 30, 2016 08:46
Show Gist options
  • Save AndyShiue/aac59a1824f7d39581d6 to your computer and use it in GitHub Desktop.
Save AndyShiue/aac59a1824f7d39581d6 to your computer and use it in GitHub Desktop.
open import Data.String
open import Data.List
open import Data.List.Any
data Term : Set where
var : String -> Term
lam : String -> Term -> Term
app : Term -> Term -> Term
sub : Term -> List Term
sub (var sym) = [ var sym ]
sub (lam bind inner) = lam bind inner ∷ sub inner
sub (app left right) = sub left Data.List.++ sub right
sub-refl : (term : Term) -> term ∈ sub term
sub-refl (var sym) = refl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment