Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. module LongProof3 where
  2.  
  3. data Nat : Set where
  4. zero : Nat
  5. suc : Nat -> Nat
  6.  
  7. {-# BUILTIN NATURAL Nat #-}
  8.  
  9. data List (A : Set) : Set where
  10. [] : List A
  11. _::_ : A -> List A -> List A
  12.  
  13. infixr 40 _::_
  14.  
  15. _++_ : {A : Set} -> List A -> List A -> List A
  16. _++_ [] b = b
  17. _++_ (a :: as) b = a :: (as ++ b)
  18.  
  19. appx : ∀ {A} → Nat → List A → List A
  20. appx zero _ = []
  21. appx (suc x) a = a ++ (appx x a)
  22.  
  23. length : { A : Set } -> List A -> Nat
  24. length [] = zero
  25. length (_ :: as) = suc (length as)
  26.  
  27. data _==_ { A : Set} (x : A) : A -> Set where
  28. refl : x == x
  29.  
  30. y : Nat
  31. y = (length (appx 50000 (1 :: 2 :: 3 :: [])))
  32.  
  33. v : (z : Nat) → (length (appx z (1 :: 2 :: 3 :: []))) == 150000 → Nat
  34. v z eq = zero
  35.  
  36. -- stack overflow
  37. w : Nat
  38. w = v 50000 (refl {x = 150000})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement