2014-08-07 11:36:44 -07:00
|
|
|
----------------------------------------------------------------------------------------------------
|
|
|
|
-- Copyright (c) 2014 Microsoft Corporation. All rights reserved.
|
2014-07-19 20:09:47 +01:00
|
|
|
-- Released under Apache 2.0 license as described in the file LICENSE.
|
|
|
|
-- Author: Leonardo de Moura
|
2014-07-31 18:40:09 -07:00
|
|
|
----------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
import logic.connectives.prop
|
2014-07-19 20:09:47 +01:00
|
|
|
|
|
|
|
namespace sum
|
2014-08-12 15:00:32 -07:00
|
|
|
inductive sum (A B : Type) : Type :=
|
2014-07-19 20:09:47 +01:00
|
|
|
| inl : A → sum A B
|
|
|
|
| inr : B → sum A B
|
|
|
|
|
|
|
|
infixr `+`:25 := sum
|
|
|
|
|
2014-08-12 15:00:32 -07:00
|
|
|
theorem induction_on {A B : Type} {C : Prop} (s : A + B) (H1 : A → C) (H2 : B → C) : C :=
|
2014-07-28 19:58:57 -07:00
|
|
|
sum_rec H1 H2 s
|
2014-08-07 16:59:08 -07:00
|
|
|
end sum
|