lean2/library/data/unit/insts.lean
Leonardo de Moura 758a17ab23 refactor(library/data/unit): break unit.lean into smaller pieces
The unit datatype is used by automation.

We want to be able to access its declaration without having to access
all dependencies (e.g., decidable, subsingleton, inhabited, ...).

This is *not* an optimization, but a way to make sure we can "import" unit
before we import other declarations.
2014-10-25 14:57:33 -07:00

16 lines
582 B
Text

-- Copyright (c) 2014 Microsoft Corporation. All rights reserved.
-- Released under Apache 2.0 license as described in the file LICENSE.
-- Author: Leonardo de Moura
import data.unit.decl data.unit.thms logic.decidable logic.inhabited
open decidable
namespace unit
protected theorem subsingleton [instance] : subsingleton unit :=
subsingleton.intro (λ a b, equal a b)
protected definition is_inhabited [instance] : inhabited unit :=
inhabited.mk ⋆
protected definition has_decidable_eq [instance] : decidable_eq unit :=
take (a b : unit), inl (equal a b)
end unit