2015-02-25 23:18:21 +00:00
|
|
|
|
prelude
|
|
|
|
|
definition Prop := Type.{0} inductive true : Prop := intro : true inductive false : Prop constant num : Type
|
2015-09-30 23:52:56 +00:00
|
|
|
|
inductive prod (A B : Type) := mk : A → B → prod A B infixl ` × `:30 := prod
|
2014-11-09 22:08:33 +00:00
|
|
|
|
variables a b c : num
|
|
|
|
|
|
2015-04-22 02:33:21 +00:00
|
|
|
|
section
|
2015-09-30 23:52:56 +00:00
|
|
|
|
local notation `(` t:(foldr `, ` (e r, prod.mk e r)) `)` := t
|
2014-11-09 22:08:33 +00:00
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
set_option pp.notation false
|
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
end
|
|
|
|
|
|
2015-04-22 02:33:21 +00:00
|
|
|
|
section
|
2015-09-30 23:52:56 +00:00
|
|
|
|
local notation `(` t:(foldr `, ` (e r, prod.mk r e)) `)` := t
|
2015-04-22 02:33:21 +00:00
|
|
|
|
set_option pp.notation true
|
2014-11-09 22:08:33 +00:00
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
set_option pp.notation false
|
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
end
|
|
|
|
|
|
2015-04-22 02:33:21 +00:00
|
|
|
|
section
|
2015-09-30 23:52:56 +00:00
|
|
|
|
local notation `(` t:(foldl `, ` (e r, prod.mk r e)) `)` := t
|
2015-04-22 02:33:21 +00:00
|
|
|
|
set_option pp.notation true
|
2014-11-09 22:08:33 +00:00
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
set_option pp.notation false
|
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
end
|
|
|
|
|
|
2015-04-22 02:33:21 +00:00
|
|
|
|
section
|
2015-09-30 23:52:56 +00:00
|
|
|
|
local notation `(` t:(foldl `, ` (e r, prod.mk e r)) `)` := t
|
2015-04-22 02:33:21 +00:00
|
|
|
|
set_option pp.notation true
|
2014-11-09 22:08:33 +00:00
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
set_option pp.notation false
|
|
|
|
|
check (a, false, b, true, c)
|
|
|
|
|
end
|