1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
16 include "logic/cprop_connectives.ma".
18 definition hide ≝ λT:Type.λx:T.x.
20 notation < "\blacksquare" non associative with precedence 50 for @{'hide}.
21 interpretation "hide" 'hide = (hide _ _).
22 interpretation "hide2" 'hide = (hide _ _ _).
24 definition inject ≝ λP.λa:nat.λp:P a. ex_introT ? P ? p.
26 definition eject ≝ λP.λc: ∃n:nat.P n. match c with [ ex_introT w _ ⇒ w].