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/xoa/ex_5_4.ma".
16 include "ground/notation/functions/updownarrowstar_1.ma".
17 include "ground/arith/nat_max.ma".
18 include "ground/counters/rtc.ma".
20 (* SHIFT FOR RT-TRANSITION COUNTERS *****************************************)
22 definition rtc_shift (c:rtc): rtc β
24 [ mk_rtc ri rs ti ts β β©ri β¨ rs, π, ti β¨ ts, πβͺ
28 "shift (rt-transition counters)"
29 'UpDownArrowStar c = (rtc_shift c).
31 (* Basic constructions ******************************************************)
34 lemma rtc_shift_unfold (ri) (rs) (ti) (ts):
35 β©ri β¨ rs, π, ti β¨ ts, πβͺ = β*β©ri,rs,ti,tsβͺ.
39 lemma rtc_shift_zz: ππ = β*ππ.
42 (* Basic inversions *********************************************************)
44 lemma rtc_shift_inv_dx (ri) (rs) (ti) (ts) (c):
45 β©ri,rs,ti,tsβͺ = β*c β
46 ββri0,rs0,ti0,ts0.
47 (ri0β¨rs0) = ri & π = rs & (ti0β¨ts0) = ti & π = ts & β©ri0,rs0,ti0,ts0βͺ = c.
48 #ri #rs #ti #ts * #ri0 #rs0 #ti0 #ts0 <rtc_shift_unfold #H destruct
49 /2 width=7 by ex5_4_intro/