Section pr2_subst1_props. (***********************************************)
Theorem pr2_delta1: (c,d:?; u:?; i:?) (drop i (0) c (CTail d (Bind Abbr) u)) ->
- (t1,t2:?) (subst1 i u t1 t2) -> (pr2 c t1 t2).
- Intros; XElim H0; Clear t2; XEAuto.
+ (t1,t2:?) (pr0 t1 t2) -> (t:?) (subst1 i u t2 t) ->
+ (pr2 c t1 t).
+ Intros; XElim H1; Clear t; XEAuto.
Qed.
Hints Resolve pr2_delta1 : ltlc.
(t1,t2:?) (pr2 c t1 t2) ->
(w1:?) (subst1 i v t1 w1) ->
(EX w2 | (pr2 c w1 w2) & (subst1 i v t2 w2)).
- Intros until 2; XElim H0; Intros.
-(* case 1: pr2_pr0 *)
- Pr0Subst1; XEAuto.
+ Intros until 2; XElim H0; Intros;
+ Pr0Subst1.
+(* case 1: pr2_free *)
+ XEAuto.
(* case 2: pr2_delta *)
Apply (neq_eq_e i i0); Intros.
(* case 2.1: i <> i0 *)
Subst1Confluence; XEAuto.
(* case 2.2: i = i0 *)
- Rewrite <- H3 in H0; Rewrite <- H3 in H1; Clear H3 i0.
- DropDis; Inversion H0; Rewrite H5 in H2; Clear H0 H4 H5 e v.
+ Rewrite <- H4 in H0; Rewrite <- H4 in H2; Clear H4 i0.
+ DropDis; Inversion H0; Rewrite H6 in H3; Clear H0 H5 H6 e v.
Subst1Confluence; XEAuto.
Qed.