equal
deleted
inserted
replaced
352 by (eres_inst_tac [("x", "e")] allE 1); |
352 by (eres_inst_tac [("x", "e")] allE 1); |
353 by (eres_inst_tac [("x", "Ts =>> T")] allE 1); |
353 by (eres_inst_tac [("x", "Ts =>> T")] allE 1); |
354 by (eres_inst_tac [("x", "a[u/i]")] allE 1); |
354 by (eres_inst_tac [("x", "a[u/i]")] allE 1); |
355 by (eres_inst_tac [("x", "0")] allE 1); |
355 by (eres_inst_tac [("x", "0")] allE 1); |
356 by (etac impE 1); |
356 by (etac impE 1); |
357 by (Simp_tac 1); |
|
358 by (rtac typing.APP 1); |
357 by (rtac typing.APP 1); |
359 by (subgoal_tac "(%j. if j = 0 then Ta else e (j - 1)) = \ |
358 by (etac lift_type' 1); |
360 \ (%j. if j < 0 then e j else if j = 0 then Ta else e (j - 1))" 1); |
|
361 byev [etac ssubst 1, rtac lift_type' 1]; |
|
362 by (assume_tac 1); |
|
363 by (rtac ext 1); |
|
364 by (case_tac "j" 1); |
|
365 by (Asm_simp_tac 1); |
|
366 by (Asm_simp_tac 1); |
|
367 by (rtac typing.VAR 1); |
359 by (rtac typing.VAR 1); |
368 by (Simp_tac 1); |
360 by (Simp_tac 1); |
369 by (fast_tac (claset() addSIs [subst_lemma]) 1); |
361 by (fast_tac (claset() addSIs [subst_lemma]) 1); |
370 (** n~=i **) |
362 (** n~=i **) |
371 by (dtac list_app_typeD 1); |
363 by (dtac list_app_typeD 1); |