bug1.lean:9:7: error: type mismatch at definition 'and_intro', it is expected of type
  ∀ (p q : bool),
    p → q → a
but is given type
  ∀ (p q : bool),
    p → q → (∀ (c : bool), (p → q → c) → c)
bug1.lean:13:7: error: type mismatch at definition 'and_intro', it is expected of type
  ∀ (p q : bool),
    p → q → and p p
but is given type
  ∀ (p q : bool),
    p → q → (∀ (c : bool), (p → q → c) → c)
bug1.lean:17:7: error: type mismatch at definition 'and_intro', it is expected of type
  ∀ (p q : bool),
    p → q → and q p
but is given type
  ∀ (p q : bool),
    p → q → (∀ (c : bool), (p → q → c) → c)
and_intro : ∀ (p q : bool), p → q → and p q