import prelude ;
data Cat : Type where {
  Conj : Cat ;
  NP : Cat ;
  S : Cat ;
  V2 : Cat 
} ;
data Tree : Cat -> Type where {
  And : Tree Conj ;
  Bill : Tree NP ;
  ConjNP : Tree Conj -> Tree NP -> Tree NP -> Tree NP ;
  John : Tree NP ;
  Mary : Tree NP ;
  Or : Tree Conj ;
  PredV2 : Tree V2 -> Tree NP -> Tree NP -> Tree S ;
  ReflV2 : Tree V2 -> Tree NP -> Tree S ;
  See : Tree V2 ;
  Whip : Tree V2 
} ;
derive Eq Tree ;
derive Compos Tree ;
