]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground_2/steps/rtc_max.ma
update in ground_2 and basic_2
[helm.git] / matita / matita / contribs / lambdadelta / ground_2 / steps / rtc_max.ma
index 058b1a3c0163f0660ce5b3af805225558f6257c6..bfa170972e886103eac16ea7eceac7984358da86 100644 (file)
@@ -97,9 +97,28 @@ elim (isrt_inv_max โ€ฆ H) -H #n1 #n2 #Hn1 #Hn2 #H destruct
 lapply (isrt_inj โ€ฆ Hn2 H2) -c2 #H destruct //
 qed-.
 
+lemma isrt_inv_max_eq_t: โˆ€n,c1,c2. ๐‘๐“โฆƒn, c1 โˆจ c2โฆ„ โ†’ eq_t c1 c2 โ†’
+                         โˆงโˆง ๐‘๐“โฆƒn, c1โฆ„ & ๐‘๐“โฆƒn, c2โฆ„.
+#n #c1 #c2 #H #Hc12
+elim (isrt_inv_max โ€ฆ H) -H #n1 #n2 #Hc1 #Hc2 #H destruct
+lapply (isrt_eq_t_trans โ€ฆ Hc1 โ€ฆ Hc12) -Hc12 #H
+<(isrt_inj โ€ฆ H โ€ฆ Hc2) -Hc2
+<idempotent_max /2 width=1 by conj/
+qed-.
+
 (* Properties with shift ****************************************************)
 
 lemma max_shift: โˆ€c1,c2. ((โ†•*c1) โˆจ (โ†•*c2)) = โ†•*(c1โˆจc2).
 * #ri1 #rs1 #ti1 #ts1 * #ri2 #rs2 #ti2 #ts2
 <shift_rew <shift_rew <shift_rew <max_rew //
 qed.
+
+(* Inversion lemmaswith shift ***********************************************)
+
+lemma isrt_inv_max_shift_sn: โˆ€n,c1,c2. ๐‘๐“โฆƒn, โ†•*c1 โˆจ c2โฆ„ โ†’
+                             โˆงโˆง ๐‘๐“โฆƒ0, c1โฆ„ & ๐‘๐“โฆƒn, c2โฆ„.
+#n #c1 #c2 #H
+elim (isrt_inv_max โ€ฆ H) -H #n1 #n2 #Hc1 #Hc2 #H destruct
+elim (isrt_inv_shift โ€ฆ Hc1) -Hc1 #Hc1 * -n1
+/2 width=1 by conj/
+qed-.