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/relations/istype_2.ma".
16 include "ground_2/steps/rtc.ma".
18 (* T-TRANSITION COUNTER *****************************************************)
20 definition ist: relation2 nat rtc ≝
21 λts,c. 〈0,0,0,ts〉 = c.
23 interpretation "test for t-transition counter (rtc)"
24 'IsType ts c = (ist ts c).
26 (* Basic properties *********************************************************)
28 lemma ist_00: 𝐓❪0,𝟘𝟘❫.
31 lemma ist_01: 𝐓❪1,𝟘𝟙❫.
34 (* Basic inversion properties ***********************************************)
36 lemma ist_inv_00: ∀n. 𝐓❪n,𝟘𝟘❫ → 0 = n.
40 lemma ist_inv_01: ∀n. 𝐓❪n,𝟘𝟙❫ → 1 = n.
44 lemma ist_inv_10: ∀n. 𝐓❪n,𝟙𝟘❫ → ⊥.
48 (* Main inversion properties ************************************************)
50 theorem ist_inj: ∀n1,n2,c. 𝐓❪n1,c❫ → 𝐓❪n2,c❫ → n1 = n2.
51 #n1 #n2 #c #H1 #H2 destruct //
54 theorem ist_mono: ∀n,c1,c2. 𝐓❪n,c1❫ → 𝐓❪n,c2❫ → c1 = c2.
55 #n #c1 #c2 #H1 #H2 destruct //