]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground_2/steps/rtc_isrt.ma
update in ground_2, static_2, basic_2
[helm.git] / matita / matita / contribs / lambdadelta / ground_2 / steps / rtc_isrt.ma
index ced83577ac246dddcb5a4edaff326317b8606908..42a0ff52e2c221f241daf866d88220b67448ccd5 100644 (file)
@@ -18,38 +18,47 @@ include "ground_2/steps/rtc.ma".
 (* RT-TRANSITION COUNTER ****************************************************)
 
 definition isrt: relation2 nat rtc ≝ λts,c.
-                 ∃∃ri,rs. 〈ri, rs, 0, ts〉 = c.
+                 ∃∃ri,rs. 〈ri,rs,0,ts〉 = c.
 
 interpretation "test for costrained rt-transition counter (rtc)"
    'IsRedType ts c = (isrt ts c).
 
 (* Basic properties *********************************************************)
 
-lemma isr_00: 𝐑𝐓⦃0, 𝟘𝟘⦄.
+lemma isrt_00: 𝐑𝐓❪0,𝟘𝟘❫.
 /2 width=3 by ex1_2_intro/ qed.
 
-lemma isr_10: 𝐑𝐓⦃0, 𝟙𝟘⦄.
+lemma isrt_10: 𝐑𝐓❪0,𝟙𝟘❫.
 /2 width=3 by ex1_2_intro/ qed.
 
-lemma isrt_01: ð\9d\90\91ð\9d\90\93â¦\831, ð\9d\9f\98ð\9d\9f\99â¦\84.
+lemma isrt_01: ð\9d\90\91ð\9d\90\93â\9dª1,ð\9d\9f\98ð\9d\9f\99â\9d«.
 /2 width=3 by ex1_2_intro/ qed.
 
+lemma isrt_eq_t_trans: ∀n,c1,c2. 𝐑𝐓❪n,c1❫ → eq_t c1 c2 → 𝐑𝐓❪n,c2❫.
+#n #c1 #c2 * #ri1 #rs1 #H destruct
+#H elim (eq_t_inv_dx … H) -H /2 width=3 by ex1_2_intro/
+qed-.
+
 (* Basic inversion properties ***********************************************)
 
-lemma isrt_inv_00: â\88\80n. ð\9d\90\91ð\9d\90\93â¦\83n, ð\9d\9f\98ð\9d\9f\98â¦\84 → 0 = n.
+lemma isrt_inv_00: â\88\80n. ð\9d\90\91ð\9d\90\93â\9dªn,ð\9d\9f\98ð\9d\9f\98â\9d« → 0 = n.
 #n * #ri #rs #H destruct //
 qed-.
 
-lemma isrt_inv_10: â\88\80n. ð\9d\90\91ð\9d\90\93â¦\83n, ð\9d\9f\99ð\9d\9f\98â¦\84 → 0 = n.
+lemma isrt_inv_10: â\88\80n. ð\9d\90\91ð\9d\90\93â\9dªn,ð\9d\9f\99ð\9d\9f\98â\9d« → 0 = n.
 #n * #ri #rs #H destruct //
 qed-.
 
-lemma isrt_inv_01: â\88\80n. ð\9d\90\91ð\9d\90\93â¦\83n, ð\9d\9f\98ð\9d\9f\99â¦\84 → 1 = n.
+lemma isrt_inv_01: â\88\80n. ð\9d\90\91ð\9d\90\93â\9dªn,ð\9d\9f\98ð\9d\9f\99â\9d« → 1 = n.
 #n * #ri #rs #H destruct //
 qed-.
 
 (* Main inversion properties ************************************************)
 
-theorem isrt_mono: ∀n1,n2,c. 𝐑𝐓⦃n1, c⦄ → 𝐑𝐓⦃n2, c⦄ → n1 = n2.
+theorem isrt_inj: ∀n1,n2,c. 𝐑𝐓❪n1,c❫ → 𝐑𝐓❪n2,c❫ → n1 = n2.
 #n1 #n2 #c * #ri1 #rs1 #H1 * #ri2 #rs2 #H2 destruct //
 qed-.
+
+theorem isrt_mono: ∀n,c1,c2. 𝐑𝐓❪n,c1❫ → 𝐑𝐓❪n,c2❫ → eq_t c1 c2.
+#n #c1 #c2 * #ri1 #rs1 #H1 * #ri2 #rs2 #H2 destruct //
+qed-.