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 (**************************************************************************)
15 include "ground_2/notation/functions/complement_1.ma".
16 include "ground_2/relocation/trace.ma".
18 (* RELOCATION TRACE *********************************************************)
20 let rec snot (t:trace) on t ≝ match t with
22 | cons b t ⇒ (¬ b) @ snot t
27 'Complement t = (snot t).
29 (* Basic properties *********************************************************)
31 lemma snot_empty: ∁ (◊) = ◊.
34 lemma snot_inh: ∀t,b. ∁ (b@t) = (¬ b) @ ∁ t.
37 lemma snot_true: ∀t. ∁ (Ⓣ @ t) = Ⓕ @ ∁ t.
40 lemma snot_false: ∀t. ∁ (Ⓕ @ t) = Ⓣ @ ∁ t.
43 lemma snot_length: ∀t. |∁ t| = |t|.
44 #t elim t -t normalize //
47 lemma snot_colength: ∀t. ∥∁ t∥ = |t| - ∥t∥.
49 * /2 width=1 by minus_Sn_m/