fix(init.datatypes): make empty live in Type.{0}
This commit is contained in:
parent
90f1a691fd
commit
e5241f84ec
6 changed files with 7 additions and 15 deletions
|
@ -40,7 +40,7 @@ namespace sphere_index
|
|||
definition add (n m : sphere_index) : sphere_index :=
|
||||
sphere_index.rec_on m n (λ k l, l .+1)
|
||||
|
||||
definition leq (n m : sphere_index) : Type₁ :=
|
||||
definition leq (n m : sphere_index) : Type₀ :=
|
||||
sphere_index.rec_on n (λm, unit) (λ n p m, sphere_index.rec_on m (λ p, empty) (λ m q p, p m) p) m
|
||||
|
||||
infix `+1+`:65 := sphere_index.add
|
||||
|
|
|
@ -19,7 +19,7 @@ notation `Type₃` := Type.{3}
|
|||
inductive unit.{l} : Type.{l} :=
|
||||
star : unit
|
||||
|
||||
inductive empty.{l} : Type.{l}
|
||||
inductive empty : Type₀
|
||||
|
||||
inductive eq.{l} {A : Type.{l}} (a : A) : A → Type.{l} :=
|
||||
refl : eq a a
|
||||
|
|
|
@ -11,7 +11,7 @@ import init.reserved_notation
|
|||
|
||||
/- not -/
|
||||
|
||||
definition not.{l} (a : Type.{l}) := a → empty.{l}
|
||||
definition not (a : Type) := a → empty
|
||||
prefix `¬` := not
|
||||
|
||||
definition absurd {a b : Type} (H₁ : a) (H₂ : ¬a) : b :=
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace is_trunc
|
|||
|
||||
/- Truncation levels -/
|
||||
|
||||
inductive trunc_index : Type₁ :=
|
||||
inductive trunc_index : Type₀ :=
|
||||
| minus_two : trunc_index
|
||||
| succ : trunc_index → trunc_index
|
||||
|
||||
|
@ -38,7 +38,7 @@ namespace is_trunc
|
|||
definition add (n m : trunc_index) : trunc_index :=
|
||||
trunc_index.rec_on m n (λ k l, l .+1)
|
||||
|
||||
definition leq (n m : trunc_index) : Type₁ :=
|
||||
definition leq (n m : trunc_index) : Type₀ :=
|
||||
trunc_index.rec_on n (λm, unit) (λ n p m, trunc_index.rec_on m (λ p, empty) (λ m q p, p m) p) m
|
||||
end trunc_index
|
||||
|
||||
|
|
|
@ -191,7 +191,7 @@ iff.intro (assume H, pr1 H) (assume H, pair H star)
|
|||
definition unit_prod (a : Type) : unit × a ↔ a :=
|
||||
iff.intro (assume H, pr2 H) (assume H, pair star H)
|
||||
|
||||
definition prod_empty.{l} (a : Type.{l}) : a × empty.{l} ↔ empty.{l} :=
|
||||
definition prod_empty (a : Type) : a × empty ↔ empty :=
|
||||
iff.intro (assume H, pr2 H) (assume H, !empty.elim H)
|
||||
|
||||
definition empty_prod (a : Type) : empty × a ↔ empty :=
|
||||
|
|
|
@ -46,15 +46,7 @@ namespace is_trunc
|
|||
{ apply equiv.to_is_equiv, apply is_contr.sigma_char},
|
||||
apply (@is_hprop.mk), intros,
|
||||
fapply sigma_eq, {apply x.2},
|
||||
apply (@is_hprop.elim),
|
||||
apply is_trunc_pi, intro a,
|
||||
apply is_hprop.mk, intro w z,
|
||||
have H : is_hset A,
|
||||
begin
|
||||
apply is_trunc_succ, apply is_trunc_succ,
|
||||
apply is_contr.mk, exact y.2
|
||||
end,
|
||||
fapply (@is_hset.elim A _ _ _ w z)},
|
||||
apply (@is_hprop.elim)},
|
||||
{ intro n' IH A,
|
||||
apply is_trunc_is_equiv_closed,
|
||||
apply equiv.to_is_equiv,
|
||||
|
|
Loading…
Reference in a new issue