2014-11-30 21:16:01 -08:00
|
|
|
prelude
|
2014-07-06 16:46:34 -07:00
|
|
|
inductive list (A : Type) : Type :=
|
2015-02-25 17:00:10 -08:00
|
|
|
| nil {} : list A
|
|
|
|
| cons : A → list A → list A
|
2014-07-06 16:46:34 -07:00
|
|
|
|
|
|
|
section
|
2014-10-09 07:13:06 -07:00
|
|
|
variable A : Type
|
2014-07-06 16:46:34 -07:00
|
|
|
inductive list2 : Type :=
|
2015-02-25 17:00:10 -08:00
|
|
|
| nil2 {} : list2
|
|
|
|
| cons2 : A → list2 → list2
|
2014-07-06 16:46:34 -07:00
|
|
|
end
|
|
|
|
|
2014-10-02 16:20:52 -07:00
|
|
|
constant num : Type.{1}
|
2014-07-06 16:46:34 -07:00
|
|
|
|
|
|
|
namespace Tree
|
|
|
|
inductive tree (A : Type) : Type :=
|
2015-02-25 17:00:10 -08:00
|
|
|
| node : A → forest A → tree A
|
2014-10-13 20:48:23 -07:00
|
|
|
with forest : Type :=
|
2015-02-25 17:00:10 -08:00
|
|
|
| nil : forest A
|
|
|
|
| cons : tree A → forest A → forest A
|
2014-08-07 16:59:08 -07:00
|
|
|
end Tree
|
2014-07-06 16:46:34 -07:00
|
|
|
|
|
|
|
inductive group_struct (A : Type) : Type :=
|
2014-08-22 15:46:10 -07:00
|
|
|
mk_group_struct : (A → A → A) → A → group_struct A
|
2014-07-06 16:46:34 -07:00
|
|
|
|
|
|
|
inductive group : Type :=
|
2014-08-22 15:46:10 -07:00
|
|
|
mk_group : Π (A : Type), (A → A → A) → A → group
|
2014-07-06 16:46:34 -07:00
|
|
|
|
|
|
|
section
|
2014-10-09 07:13:06 -07:00
|
|
|
variable A : Type
|
|
|
|
variable B : Type
|
2014-07-06 16:46:34 -07:00
|
|
|
inductive pair : Type :=
|
2014-08-22 15:46:10 -07:00
|
|
|
mk_pair : A → B → pair
|
2014-07-06 16:46:34 -07:00
|
|
|
end
|
|
|
|
|
2014-09-17 14:39:05 -07:00
|
|
|
definition Prop := Type.{0}
|
2014-07-22 09:43:18 -07:00
|
|
|
inductive eq {A : Type} (a : A) : A → Prop :=
|
2014-08-22 15:46:10 -07:00
|
|
|
refl : eq a a
|
2014-07-06 16:46:34 -07:00
|
|
|
|
|
|
|
section
|
2014-10-09 07:13:06 -07:00
|
|
|
variable {A : Type}
|
2014-07-22 09:43:18 -07:00
|
|
|
inductive eq2 (a : A) : A → Prop :=
|
2014-08-22 15:46:10 -07:00
|
|
|
refl2 : eq2 a a
|
2014-07-06 16:46:34 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
section
|
2014-10-09 07:13:06 -07:00
|
|
|
variable A : Type
|
|
|
|
variable B : Type
|
2014-07-06 16:46:34 -07:00
|
|
|
inductive triple (C : Type) : Type :=
|
2014-08-22 15:46:10 -07:00
|
|
|
mk_triple : A → B → C → triple C
|
2014-07-06 16:46:34 -07:00
|
|
|
end
|