2014-02-07 04:22:25 +00:00
|
|
|
|
Set: pp::colors
|
|
|
|
|
Set: pp::unicode
|
|
|
|
|
Imported 'macros'
|
|
|
|
|
Imported 'pair'
|
|
|
|
|
Imported 'subtype'
|
|
|
|
|
Imported 'optional'
|
|
|
|
|
Using: subtype
|
|
|
|
|
Using: optional
|
|
|
|
|
Defined: sum_pred
|
|
|
|
|
Defined: sum
|
|
|
|
|
Proved: sum::inl_pred
|
|
|
|
|
Proved: sum::inr_pred
|
|
|
|
|
Proved: sum::inhabl
|
|
|
|
|
Proved: sum::inhabr
|
|
|
|
|
Defined: sum::inl
|
|
|
|
|
Defined: sum::inr
|
|
|
|
|
Proved: sum::inl_inj
|
|
|
|
|
Proved: sum::inr_inj
|
|
|
|
|
Proved: sum::distinct
|
|
|
|
|
sum2.lean:88:0: error: invalid tactic command, unexpected end of file
|
|
|
|
|
Proof state:
|
|
|
|
|
A :
|
|
|
|
|
(Type U),
|
|
|
|
|
B :
|
|
|
|
|
(Type U),
|
|
|
|
|
n :
|
|
|
|
|
sum A B,
|
|
|
|
|
pred :
|
|
|
|
|
(proj1 (subtype::rep n) = optional::none) ≠ (proj2 (subtype::rep n) = optional::none)
|
2014-02-07 05:07:26 +00:00
|
|
|
|
⊢ (∃ a : A, n = sum::inl a B) ∨ (∃ b : B, n = sum::inr A b)
|