24 lines
743 B
Text
24 lines
743 B
Text
|
import data.finset data.num data.nat data.int algebra.ring
|
|||
|
open finset num nat int algebra
|
|||
|
|
|||
|
check @finset.insert _ _ 1 (@finset.empty ℕ)
|
|||
|
|
|||
|
check '{1, 2, 3} -- finset num
|
|||
|
check ('{1, 2, 3} : finset ℕ)
|
|||
|
check ('{1, 2, 3} : finset ℕ) -- finset ℕ
|
|||
|
check ('{1, 2, 3} : finset ℤ) -- finset ℤ
|
|||
|
|
|||
|
example : finset nat :=
|
|||
|
insert 1 (insert 2 (insert 3 empty))
|
|||
|
|
|||
|
check insert 1 (insert 2 (insert 3 empty)) -- finset num
|
|||
|
check (insert 1 (insert 2 (insert 3 empty)) : finset nat)
|
|||
|
|
|||
|
check (insert (1:nat) (insert (2:nat) (insert (3:nat) empty)))
|
|||
|
|
|||
|
definition foo_nat (x : finset ℕ) : finset ℕ := x
|
|||
|
definition foo_int (x : finset ℤ) : finset ℤ := x
|
|||
|
|
|||
|
check foo_nat '{1, 2, 3} -- finset ℕ
|
|||
|
check foo_int '{1, 2, 3} -- finset ℤ
|