2014-07-23 15:22:53 +00:00
|
|
|
import standard bool
|
|
|
|
using bool
|
|
|
|
|
|
|
|
namespace set
|
|
|
|
|
|
|
|
definition set (T : Type) := T → bool
|
2014-07-29 02:58:57 +00:00
|
|
|
definition mem {T : Type} (a : T) (s : set T) := s a = tt
|
2014-07-23 15:22:53 +00:00
|
|
|
infix `∈`:50 := mem
|
|
|
|
|
|
|
|
section
|
|
|
|
parameter {T : Type}
|
|
|
|
|
2014-07-29 02:58:57 +00:00
|
|
|
definition empty : set T := λx, ff
|
2014-07-23 15:22:53 +00:00
|
|
|
notation `∅` := empty
|
|
|
|
|
|
|
|
theorem mem_empty (x : T) : ¬ (x ∈ ∅)
|
2014-07-29 02:58:57 +00:00
|
|
|
:= not_intro (λH : x ∈ ∅, absurd H ff_ne_tt)
|
2014-07-23 15:22:53 +00:00
|
|
|
end
|