2014-07-09 08:12:36 +00:00
|
|
|
[let
|
|
|
|
((λ (and_intro : ∀ (p q : Bool), p → q → (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q),
|
|
|
|
[let
|
|
|
|
((λ
|
|
|
|
(and_elim_left : ∀ (p q : Bool), (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q → p),
|
|
|
|
[let
|
|
|
|
((λ
|
|
|
|
(and_elim_right :
|
|
|
|
∀ (p q : Bool),
|
|
|
|
(λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q → q),
|
|
|
|
and_intro)
|
|
|
|
(λ (p q : Bool) (H : (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q),
|
|
|
|
H q (λ (H1 : p) (H2 : q), H2)))])
|
|
|
|
(λ (p q : Bool) (H : (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q),
|
|
|
|
H p (λ (H1 : p) (H2 : q), H1)))])
|
|
|
|
(λ (p q : Bool) (H1 : p) (H2 : q) (c : Bool) (H : p → q → c), H H1 H2))] :
|
|
|
|
∀ (p q : Bool),
|
|
|
|
p → q → (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q
|
2014-06-24 23:27:23 +00:00
|
|
|
let1.lean:17:20: error: type mismatch at application
|
2014-07-09 08:12:36 +00:00
|
|
|
(λ (and_intro : ∀ (p q : Bool), p → q → (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) q p),
|
|
|
|
[let
|
|
|
|
((λ
|
|
|
|
(and_elim_left : ∀ (p q : Bool), (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q → p),
|
|
|
|
[let
|
|
|
|
((λ
|
|
|
|
(and_elim_right :
|
|
|
|
∀ (p q : Bool),
|
|
|
|
(λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q → q),
|
|
|
|
and_intro)
|
|
|
|
(λ (p q : Bool) (H : (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q),
|
|
|
|
H q (λ (H1 : p) (H2 : q), H2)))])
|
|
|
|
(λ (p q : Bool) (H : (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) p q),
|
|
|
|
H p (λ (H1 : p) (H2 : q), H1)))])
|
|
|
|
(λ (p q : Bool) (H1 : p) (H2 : q) (c : Bool) (H : p → q → c), H H1 H2)
|
2014-06-24 23:27:23 +00:00
|
|
|
expected type:
|
2014-07-09 08:12:36 +00:00
|
|
|
∀ (p q : Bool),
|
|
|
|
p → q → (λ (p q : Bool), ∀ (c : Bool), (p → q → c) → c) q p
|
2014-06-16 21:11:26 +00:00
|
|
|
given type:
|
2014-07-09 08:12:36 +00:00
|
|
|
∀ (p q : Bool),
|
|
|
|
p → q → (∀ (c : Bool), (p → q → c) → c)
|