2015-06-04 01:41:21 +00:00
|
|
|
/-
|
|
|
|
Copyright (c) 2015 Floris van Doorn. All rights reserved.
|
|
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
|
|
Authors: Floris van Doorn
|
|
|
|
|
2015-06-04 17:55:02 +00:00
|
|
|
Theorems about the unit type
|
2015-06-04 01:41:21 +00:00
|
|
|
-/
|
|
|
|
|
|
|
|
open equiv option
|
|
|
|
|
|
|
|
namespace unit
|
|
|
|
|
|
|
|
definition unit_equiv_option_empty : unit ≃ option empty :=
|
|
|
|
begin
|
|
|
|
fapply equiv.MK,
|
|
|
|
{ intro u, exact none},
|
|
|
|
{ intro e, exact star},
|
|
|
|
{ intro e, cases e, reflexivity, contradiction},
|
|
|
|
{ intro u, cases u, reflexivity},
|
|
|
|
end
|
|
|
|
|
|
|
|
definition unit_imp_equiv (A : Type) : (unit → A) ≃ A :=
|
|
|
|
begin
|
|
|
|
fapply equiv.MK,
|
|
|
|
{ intro f, exact f star},
|
|
|
|
{ intro a u, exact a},
|
|
|
|
{ intro a, reflexivity},
|
|
|
|
{ intro f, apply eq_of_homotopy, intro u, cases u, reflexivity},
|
|
|
|
end
|
|
|
|
|
|
|
|
end unit
|