X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Fsteps%2Frtc.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Fsteps%2Frtc.ma;h=87c091b19f8a8eaae60fac4542bbff5822cae57c;hb=138e01310a2334cd531819122c794d72d14c6e8c;hp=62228d229e21af156c36c43980e8956f51a4fd48;hpb=89ea663d91904f483f8248cfaeaed5eda8715da2;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground_2/steps/rtc.ma b/matita/matita/contribs/lambdadelta/ground_2/steps/rtc.ma index 62228d229..87c091b19 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/steps/rtc.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/steps/rtc.ma @@ -38,3 +38,29 @@ interpretation "one r-step (rtc)" interpretation "one t-step (rtc)" 'ZeroOne = (mk_rtc O O O (S O)). + +definition eq_f: relation rtc ≝ λc1,c2. ⊤. + +inductive eq_t: relation rtc ≝ +| eq_t_intro: ∀ri1,ri2,rs1,rs2,ti,ts. + eq_t (〈ri1, rs1, ti, ts〉) (〈ri2, rs2, ti, ts〉) +. + +(* Basic properties *********************************************************) + +lemma eq_t_refl: reflexive … eq_t. +* // qed. + +(* Basic inversion lemmas ***************************************************) + +fact eq_t_inv_dx_aux: ∀x,y. eq_t x y → + ∀ri1,rs1,ti,ts. x = 〈ri1,rs1,ti,ts〉 → + ∃∃ri2,rs2. y = 〈ri2,rs2,ti,ts〉. +#x #y * -x -y +#ri1 #ri #rs1 #rs #ti1 #ts1 #ri2 #rs2 #ti2 #ts2 #H destruct -ri2 -rs2 +/2 width=3 by ex1_2_intro/ +qed-. + +lemma eq_t_inv_dx: ∀ri1,rs1,ti,ts,y. eq_t (〈ri1,rs1,ti,ts〉) y → + ∃∃ri2,rs2. y = 〈ri2,rs2,ti,ts〉. +/2 width=5 by eq_t_inv_dx_aux/ qed-.