2014-08-28 18:20:58 -07:00
|
|
|
let bool := Prop,
|
|
|
|
and := λ (p q : bool), Π (c : bool), (p → q → c) → c,
|
|
|
|
and_intro := λ (p q : bool) (H1 : p) (H2 : q) (c : bool) (H : p → q → c), H H1 H2
|
|
|
|
in and_intro :
|
2014-07-22 09:43:18 -07:00
|
|
|
∀ (p q : Prop),
|
|
|
|
p → q → (∀ (c : Prop), (p → q → c) → c)
|
2014-08-22 11:26:00 -07:00
|
|
|
let1.lean:19:19: error: type mismatch at term
|
|
|
|
λ (p q : Prop) (H1 : p) (H2 : q) (c : Prop) (H : p → q → c),
|
2014-08-28 18:20:58 -07:00
|
|
|
H H1 H2
|
|
|
|
has type
|
2014-08-07 16:18:40 -07:00
|
|
|
∀ (p q : Prop),
|
2014-08-21 18:24:22 -07:00
|
|
|
p → q → (∀ (c : Prop), (p → q → c) → c)
|
2014-08-22 11:26:00 -07:00
|
|
|
but is expected to have type
|
|
|
|
∀ (p q : Prop),
|
|
|
|
p → q → (λ (p q : Prop), ∀ (c : Prop), (p → q → c) → c) q p
|