created Head to ask for help

This commit is contained in:
wadler 2018-05-16 12:47:04 -03:00
parent 1bdf8ef223
commit d9ddffd55e

40
src/extra/Head.agda Normal file
View file

@ -0,0 +1,40 @@
import Relation.Binary.PropositionalEquality as Eq
open Eq using (_≡_; refl; sym; trans; cong; cong₂; _≢_)
open import Data.Empty using (⊥; ⊥-elim)
open import Data.List using (List; []; _∷_; dropWhile)
open import Data.Char using (Char)
open import Data.Bool using (Bool; true; false)
import Data.Char as Char using (_≟_)
open import Relation.Nullary using (¬_; Dec; yes; no)
open import Relation.Nullary.Decidable using (⌊_⌋)
data Head {A : Set} (P : A Bool) : List A Set where
head : (c : A) (s : List A) P c true Head P (c s)
prime : Char
prime = ''
isPrime : Char Bool
isPrime c = c Char.≟ prime
head-lemma : (s : List Char) ¬ Head isPrime (dropWhile isPrime s)
head-lemma [] = λ()
head-lemma (c s) with isPrime c
... | true = head-lemma s
... | false = ¬h
where
¬h : ¬ Head isPrime (c s)
¬h (head c s eqn) = {!!}
{-
Goal:
————————————————————————————————————————————————————————————
s : List Char
c : Char
eqn : (c Char.≟ '' | .Agda.Builtin.Char.primCharEquality c '')
true
s : List Char
c : Char
-}